[G1 Android Development] Blind Oracle:
So far, so good

I upgraded from the latest JF release to 3.9.7. I did not wipe. I've encountered no side effects from not wiping.

Things are notably faster. I have slightly tweaked things.

Please note it is questionable my change of "dirty_writeback_centisecs" has any real impact. Kernel docs seem to also support that change is likely to have little to no significant impact. I did find the original value of 30 for swappiness to be far too aggressive. A reduction to 20 seems to have significantly improved things. I also noted others seem to have beaten the same trail to 20 which seems to enforce this is a superior value.

(updated)

# free

total used free shared buffers

Mem: 97972 96128 1844 0 544

Swap: 23544 11196 12348

Total: 121516 107324 14192

#

For my own workloads, I have found increasing up_threshold from 32 (up_threshold=35) has reduced the jumpiness of the overall system. I assume this was from constantly clock rate switching bursts. Changing from 32 to 35 now makes scrolling large list views much smoother. Whereas before, it seemed to pause, jump, scroll smooth, pause, jump, scroll smooth. I assume the pause and jump came from the clock rate change where as the smooth portion was from the faster clock rate followed by the load reduction and switch back to a slower rate. I've not done much to substantiate this observation. So grain...salt...etc... I suspect the original value of 40 was actually pretty reasonable/sane.

I also believe my reduction of dirty_ratio has further removed some of the batched workloads which has further improved overall system responsiveness and overall performance. Its likely this change leads to additional sd write pressure.

Now here is the down side. The browser is no longer able to open some sites it previously handled. For example, I can no longer go to Google Checkout Inbox screen. Clicking on the link to take me there, which has always previously worked in 1.5, simply acts like a fast refresh for the current page. In the grand scheme of things, this seems like a pretty insignificant price to pay for the drastic performance benefits.

I only fairly recently finished my latest round of tweaks and reboot so I can't confirm my phone won't continue with its slowdown, as I have previously seen. I've been operating under the assumption the large slowdowns have been from excessive paging, which I frequently observed many, many months ago when I first toyed with swap on the phone (first to do so that I'm aware). Based on my previous experiments, I believe swap space larger 32M always leads to a slow death and should be avoided. Furthermore, I believe 24-32M to be a pretty good sweet spot; leaning more toward lower than higher. Additionally, I also found 8M-16M to be consistently pretty fast, but with rapid reduction in benefit as overall swap size decreases. Having said all that, I thought I'd try larger values (> 16M) again as I've not played with the backing store stuff before. So far, so good.

Oh, one last note. I also converted my ext3 to ext4. In doing so check disk did fix some minor errors. Its possible the ext3 -> ext4 conversion also benefited my phone's overall increase in performance. IIRC, from reading an ext3 vs ext4 benchmark, ext4 does much better on flash than does ext3. Once again I must point out salt...grain...etc... Your mileage my vary.

If things change, I'll provide an update later. I have continued to use my phone. It has been many hours since my last reboot. Paging use is still fairly minimal, responsiveness is still very good. No complaints. For those suffering from system slow downs, consider trying my settings/configuration. I've been very pleased thus far.

Keep up the good work.