Poor battery life on the Flame device?

The new Firefox OS reference phone is called the Flame. I have one that I’m using as my day-to-day phone, and as soon as I got it I found that the battery life was terrible — I use my phone very lightly, but the battery was draining in only 24 hours or so.

It turns out this was because a kernel daemon called ksmd (kernel samepage merging daemon) was constantly running and using about 3–7% of CPU. I detected this by running the following command which prints CPU usage stats for all running processes every five seconds.

adb shell top -m 5

ksmd doesn’t seem very useful for a device such as the Flame, and Alexandre Lissy kindly built me a new kernel with it disabled, which improved my battery life by at least 3x. Details are in the relevant bug.

It seems that plenty of other Flame users are not having problems with ksmd, but if your Flame’s battery life is poor it would be worth checking if this is the cause.

8 Responses to Poor battery life on the Flame device?

  1. Do people who buy a Flame, or some other FX OS device (in particular from a standard mobile vendor) receive important bugfixes like this as periodic updates? Or are they stuck with, e.g., poor battery life?

  2. “It seems that plenty of other Flame users are not having problems with ksmd”
    Just nitpicking: You can only know that if, they disabled ksmd and did not observe any improvement. Just because their battery life is already over 3 days with ksmd enabled, doesn’t mean that disabling ksmd would improve it further.

  3. I’ve always assumed that phone manufacturers exaggerated battery life claims. A couple years ago I got a new Droid Razr M. Even when it was new, it would often run out of battery before the day is over, even though it was doing nothing. Living somewhere with a poor signal strength hurt, I’m sure, but rather than the claim of “nearly a week on standby” I was getting a day or less.

  4. It’s easy to pass throwaway remarks as a disinterested bystander who only gets the plot summary, yet still, it’s slightly shocking that this somehow made it into the release for a battery powered device.

    KSM works by using idle cycles to continuously read and hash dirty pages.. it’s pretty much the last feature you’d want to enable on a phone

  5. I follow your blog with a lot of interest. I noticed today memory usage dropped a lot recently. https://areweslimyet.com/
    Is there anything interesting to blog about it? I’d love to read it.