After many tests, i have found that without this change no more sods.

All hangs happen on screen touch, writing sms or scrolling.

testing without it again...
+ only for testing [do not merge]
mm: writeback: every 500ms the writeback daemon kicks in and flushes the dirty pages into disk. Thats not very pleasant for performance and *maybe* battery. This patch disables the writeback function while the screen is on, and enables it back when the screen is off to flush all the dirty pages. In my real world usage testing I notice a slight bump in smoothness and performance while using the device.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

Conflicts:
	mm/page-writeback.c

+ need testing ...
+ page-writeback.c: testing ...
cpufreq: interactive: sync android-3.0 with android-3.4

Change-Id: I71443db4edbe43a08fe58a54a742b4c788ef11e3
Signed-off-by: Todd Poynor <toddpoynor@google.com>

Conflicts:
	drivers/cpufreq/cpufreq_interactive.c

+ ...
+ testing: "Erase memory pages as soon as they are freed to prevent new processes getting old information" - https://github.com/sakindia123/htc_pico_kernel_3.x/commit/dafc5d3511a8f74d40c8908ec31abbb8f8066e7d
[V2 PATCH 00/62] highmem: remove the second argument of kmap_atomic/kunmap_atomic

V1: https://lkml.org/lkml/2011/1/30/13

V1->V2: Split patches and rebase them to the latest linus tree.

Now the second argument of kmap_atomic()/kunmap_atomic() is totally
unused, this patchset removes it from all callers.

But for backward compatibility, we still keep the deprecated form,
and will warn the users if they still use the deprecated one, like this:

drivers/block/drbd/drbd_bitmap.c: In function .bm_page_io_async.:
drivers/block/drbd/drbd_bitmap.c:973:3: warning: .kmap_atomic_deprecated. is deprecated (declared at /home/wangcong/linux-2.6/include/linux/highmem.h:124)
drivers/block/drbd/drbd_bitmap.c:977:3: warning: .kunmap_atomic_deprecated. is deprecated (declared at /home/wangcong/linux-2.6/include/linux/highmem.h:144)

To schedule the final removal of these stuffs, I also write some doc into
feature-removal-schedule.txt, see the last patch in this thread.

Most of this patch is generated by the following commands:

find . -name '*.[c|h]' -exec sed -i -e 's#\bkmap_atomic(\(.*\),.*)#kmap_atomic(\1)#' '{}' \;
find . -name '*.[c|h]' -exec sed -i -e 's#\bkunmap_atomic(\(.*\),.*)#kunmap_atomic(\1)#' '{}' \;

the rest exceptions are fixed by hands.

This patch passes 'make allyesconfig' test on both ppc64 and x86_64.

BTW, all patches can be found on my github:

git@github.com:congwang/linux.git #for-next

and the final removal patches can be found here:

git@github.com:congwang/linux.git #for-3.5

Signed-off-by: Cong Wang <amwang@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
+ testing: "string.c" from Linux 3.8
+ increase dirty_writeback_interval value (again) ...
+ remove more debug ...
+ "ipv4: save cpu cycles from check_leaf()" (copy&past from Linux 3.8)
+ patch-3.0.59-60
+ testing: "SCHEDULER: Autogroup patch group by current user android UID instead of task ID" - https://github.com/faux123/mako/commit/0c16dc4bf579cf78670c046b404fd0ee112670ce
+ testing: "writeback: fix writeback cache thrashing" - https://github.com/faux123/mako/commit/f86a401409f0bc6f774a72513156e29787fc5c6b
Enabled KSM to support changes in cortex.
Restored include/linux/bio.h, was changed by auto script. and no need!

https://github.com/torvalds/linux/blob/master/include/linux/bio.h#L105
restored HZ=300 much faster and flued.
WriteBack: tuned more safe dirty_writeback_interval for wake/sleep
Moved all Governors under stand_hotplug management!
Merge remote-tracking branch 'dorimanx/master-jelly-bean' into master-3.0.y

Conflicts:
	include/linux/highmem.h
	mm/page-writeback.c

+ ...