lowmemorykiller backport from linux kernel 3.4-rc1 (1/2)
lowmemorykiller backport from linux kernel 3.4-rc1 (2/2)
HACK: block fbearlysuspend to not break androids crt-off animation -from CM10
Add Force AC Fast Charging by chad0989 (Chad Froebel)

Conflicts:

	arch/arm/mach-s5pv210/Makefile
enable force fast charge
change DI to operate only if audio is on
Add BigMem (Increase more RAM)
HACK: Support HighBigMem (Thanks to pawitp and noobnl)
Add Kernel Config to "S5PV210_HIGH_BIGMEM"

Conflicts:

	arch/arm/configs/65_defconfig
	arch/arm/configs/vd_defconfig
	arch/arm/mach-s5pv210/Kconfig
	arch/arm/mach-s5pv210/mach-herring.c
remove stale configs
slub: set slub_max_order to 0

To avoid locking and per-cpu overhead, SLUB optimisically uses
high-order allocations up to order-3 by default and falls back to lower
allocations if they fail.

So, with the default value (slub_max_order = 3), the kernel may ask up
to 3 contigous pages for each slab. However, with a reduced amount of
memory it is not worth to try to do order-3 allocations, it adds more
overhead (shrinkers have to free more objects to release any memory) and
probably it can easily fail to success with order-3 allocations.

For this reason it is better to immediately fallback to oder-0
allocations to reduce unnecessary overhead.
mm: raise vm_max_readahead
deadline: further tuning for flash devices
lib/memcopy: use glibc version

the kernel's memcpy and memmove is very inefficient. But the glibc version is
quite fast, in some cases it is 10 times faster than the kernel version. So I
introduce some memory copy macros and functions of the glibc to improve the
kernel version's performance.

The strategy of the memory functions is:
1. Copy bytes until the destination pointer is aligned.
2. Copy words in unrolled loops.  If the source and destination are not
   aligned in the same way, use word memory operations, but shift and merge
   two read words before writing.
3. Copy the few remaining bytes.

Signed-off-by: Miao Xie <miaox*******>
adapted by faux123 for 3.0.13 kernel
lib/string: use glibc version

the performance of memcpy and memmove of the general version is very
inefficient, this patch improved them.

Signed-off-by: Miao Xie <miaox*******>
adapted by faux123 for 3.0.13 kernel
sched: don't call task_group() many times in set_task_rq()

It improves perfomance, especially if autogroup enabled.

The size of set_task_rq() was 0x180 and now it is 0xa0.

Signed-off-by: Andrew Vagin <avagin@openvz.org>
aio: dont plug the i/o queue in do_io_submit()

Asynchronous I/O latency to a solid-state disk greatly increased
between the 2.6.32 and 3.0 kernels. By removing the plug from
do_io_submit(), we observed a 34% improvement in the I/O latency.

Unfortunately, at this level, we don't know if the request is to
a rotating disk or not.
mm: raise vm_max_readahead again
arm: allow cpu-supported unaligned access

         Advanced ARM processors, such as the Cortex series and ARMv7-based
         CPUS are capable of performing unaligned accesses for many types of
         memory accesses.  Typically, using a cpu-based alignment fixup is
         faster than doing such a fixup in software.
shmem: enable tiny shmem fs

Patch by: Ronis_BR - http://forum.xda-developers.com/showthread.php?t=1328275