add extra free kbytes tunable

Add a userspace visible knob to tell the VM to keep an extra amount
of memory free, by increasing the gap between each zone's min and
low watermarks.

This is useful for realtime applications that call system
calls and have a bound on the number of allocations that happen
in any short time period.  In this application, extra_free_kbytes
would be left at an amount equal to or larger than than the
maximum number of allocations that happen in any burst.

It may also be useful to reduce the memory use of virtual
machines (temporarily?), in a way that does not cause memory
fragmentation like ballooning does.

[ccross]
Revived for use on old kernels where no other solution exists.
The tunable will be removed on kernels that do better at avoiding
direct reclaim.

Change-Id: I765a42be8e964bfd3e2886d1ca85a29d60c3bb3e
Signed-off-by: Rik van Riel<riel@redhat.com>
Signed-off-by: Colin Cross <ccross@android.com>
config: enable memory group

Required for optimal functionality of ZRAM

http://source.android.com/devices/low-ram.html

Change-Id: I6dd7b4313cfc02ecfd0c487f0cfcef4ad11001c1
S5PC11X: JPEG: add ioctl to export memory configuration

This allows userspace libs3cjpeg to read memory configuration
from the kernel instead of using the hardcoded value.

Change-Id: I61248d659dbccf2e6cc656adc7fdf18773c2fcbd
aries: optimize JPEG memory configuration

Only 1MB is required for encoding of VGA JPEG images (used by FFC).
Note that thumbnail encoding function is not used.

Requires userspace change (http://review.cyanogenmod.org/56795).

Change-Id: Icea2fc74dfc692d98ae041b785238d6b847c4ddd
lib/lzo: Rename lzo1x_decompress.c to lzo1x_decompress_safe.c

Rename the source file to match the function name and thereby
also make room for a possible future even slightly faster
"non-safe" decompressor version.

Change-Id: I482ee415d43c5aaa77d34946ae1fa0af5465b007
Signed-off-by: Markus F.X.J. Oberhumer <markus@oberhumer.com>
lib/lzo: Update LZO compression to current upstream version

This commit updates the kernel LZO code to the current upsteam version
which features a significant speed improvement - benchmarking the Calgary
and Silesia test corpora typically shows a doubled performance in
both compression and decompression on modern i386/x86_64/powerpc machines.

Change-Id: Ifcde45460c856644097bdeb612f0d68c6429f03c
Signed-off-by: Markus F.X.J. Oberhumer <markus@oberhumer.com>
lib/lzo: huge LZO decompression speedup on ARM by using unaligned access

Change-Id: I4dc172b2822504c3f2db1913ed9404e031861d55
Signed-off-by: Markus F.X.J. Oberhumer <markus@oberhumer.com>
ARM: kconfig: select HAVE_EFFICIENT_UNALIGNED_ACCESS for CPUv6+ && MMU

Modern ARM CPUs can perform efficient unaligned memory accesses in
hardware and this feature is relied up on by code such as the dcache
word-at-a-time name hashing.

[pawitp: adapt to kernel 3.0]

Change-Id: I41559fc9255229e2601f4bef28aa8d48246156b7
Signed-off-by: Will Deacon <will.deacon@arm.com>
Merge branch 'cm-11.0' of https://github.com/CyanogenMod/android_kernel_samsung_aries into cm-11.0-ypg1-dev
YPG1:FIMC: Remove forced rotation

Aries and P1 seem to need a second rotation function into their fimc drivers
in order to get their front camera working right. However YP-G1 doesn't need
it and keeping it like this causes some issues with it's camera. (wrong angle)