ksm: check and skip page, if it is already scanned

From: Pradeep Sawlani <sawlani@amazon.com>

On system like Android where most of the process are forked
from parent w/o execve, KSM can scan same page multiple times
in one scan cycle. There is no advantage in scanning same page
multiple times for merging. During testing with Android, it was
observed around 60% pages are skipped for each scan cycle.

Change-Id: I0cf01802f0b4d61fcab92558beb9e1c660dc9a77
Link: http://lkml.kernel.org/r/CAMrOTPgBtANS_ryRjan0-dTL97U7eRvtf3dCsss=Kn+Uk89fuA@mail.gmail.com
Signed-off-by: Pradeep Sawlani <sawlani@amazon.com>

Signed-off-by: Paul Reioux <reioux@gmail.com>
ksm: Provide support to use deferred timers for scanner thread

KSM thread to scan pages is getting schedule on definite timeout.
That wakes up CPU from idle state and hence may affect the power
consumption. Provide an optional support to use deferred timer
which suites low-power use-cases.

To enable deferred timers,
$ echo 1 > /sys/kernel/mm/ksm/deferred_timer

Change-Id: I07fe199f97fe1f72f9a9e1b0b757a3ac533719e8
Signed-off-by: Chintan Pandya <cpandya@codeaurora.org>
ksm: enable deferred timer

Change-Id: I3e4745206a1333fb67e0473573cc44d78c1895c7
mm: uksm 0.1.2.3
bln: allow configuration of blink delay

finally, we start customising bln

Change-Id: Ibe89372174051ef79154c57c020efa76581d2864
bln: allow separate configuration of blink on and off delays

also minor optimisation of bln_blink_mode check

devicesettings: need the appropriate modifications
Change-Id: I9930a42907ab3ef90a85dd065193f5b696b7c061
bln: enable wakelock functionality in defconfig but disable it by default

some users want this to show notifications always

to enable:
echo 1 > /sys/class/misc/backlightnotification/wakelock

Change-Id: I2e8b544ded8b449199deba36c1d0aa6e006b59b8