[Galaxy S II Android Development] forkbomb444:
Hi,

I maintain CM for i9300. There's a bunch of kernel changes that work quite nicely for me, but I'd like some feedback from i9100 users before we move them into nightlies.

The changes are this one and these two.

To try them out:

the experimental kernel - flash this (it contains the changes)

To switch back, just flash a new CM nightly or flash this zip.

Summary of the changes:

kernel/samsung/smdk4412:
34a1ecb zram: fix possible use after free in zcomp_create()
e4148fb Remove ENHANCED_LMK_ROUTINE added by Samsung
feffb1f lowmemorykiller: fixes for new oom_score_adj
7799ece lowmemorykiller: maintain LMK rbtree with signal->adj_node
7ddcef9 drivers:lmk: Fix null pointer issue
1e9029d drivers:lmk: Fix double delete issue
1b416d9 staging:android:lmk: read rb tree root with spinlock
747dc8b staging: android: lowmemorykiller: select a new task to kill
bc71603 staging: android: lowmemorykiller: implement task's adj rbtree
0dce847 fs: avoid adding non-thread-group task to LMK rbtree
4902ad0 kernel: avoid adding non-thread-group task to LMK rbtree
f85f7c9 staging: android: lowmemorykiller: fix build breakage on kernel 3.0
227b5ef lowmemorykiller: make default lowmemorykiller debug message useful
cb5471a staging: android: lowmemorykiller: Change default debug_level to 1
7b6bec5 staging: android: lowmemorykiller: Don't count reserved free memory
337c493 staging: android: lowmemorykiller: Add config option to support oom_adj values
dc744fb Staging: android: lowmemorykiller.c
8b2bf71 staging: android, lowmemorykiller: convert to use oom_score_adj
cf64fcf staging: android/lowmemorykiller: Do not kill kernel threads
5fd18ff staging: android/lowmemorykiller: No need for task->signal check
325866e staging: android/lowmemorykiller: Better mm handling
de3cf80 staging: android/lowmemorykiller: Don't grab tasklist_lock
3abe1a4 Staging: android: fixed 80 characters warnings in lowmemorykiller.c
74b21a6 i9300, i9100: enable LZ4-backed zRAM
9d2e392 zram: default to LZ4 compression if LZ4 is enabled
d6cc98c mm/vmscan: Add #ifdef around "WasActive page flag"
1e291c9 mm: implement WasActive page flag (for improving cleancache)
c72e09b mm: remove compressed copy from zram in-memory
128faec staging: zcache: fix cleancache race condition with shrinker
912b213 lzo: properly check for overruns
579b11b lib/lzo: huge LZO decompression speedup on ARM by using unaligned access
39a4e24 lib/lzo: Update LZO compression to current upstream version
25925d6 lib/lzo: Rename lzo1x_decompress.c to lzo1x_decompress_safe.c
4698b1b mm: Need page_swap_info() helper method from upstream
a6ce37f mm: swap: don't delay swap free for fast swap devices
d997b41 mm/zsmalloc: allocate exactly size of struct zs_pool
f2eb4e8 zsmalloc: correct fragile [kmap|kunmap]_atomic use
d15bf00 lib: lz4: Set ARM_EFFICIENT_UNALIGNED_ACCESS
ea34676 zsmalloc: merge size_class to reduce fragmentation
86d495b zsmalloc: simplify init_zspage free obj linking
cf8ced6 zcache: Use zs_get_total_size_pages
032a891 zsmalloc: change return value unit of zs_get_total_size_bytes
2cff8e1 zsmalloc: move pages_allocated to zs_pool
eb69dce crypto: lz4,lz4hc - fix decompression
af35859 crypto: add lz4 Cryptographic API
e587fc7 staging: zsmalloc: add mapping modes
1460992 zcache: Fix zsmalloc include
a51e432 staging: zsmalloc: zsmalloc: use unsigned long instead of void *
8534495 lz4: add overrun checks to lz4_uncompress_unknownoutputsize()
4d43c9b lz4: fix another possible overrun
69a113a lz4: ensure length does not wrap
fab4f77 lz4: fix compression/decompression signedness mismatch
fcf0112 lib/lz4: correct the LZ4 license
42ebaa6 lib: add lz4 compressor module
ae59e75 lib: add support for LZ4-compressed kernel
3948a0f decompressor: add LZ4 decompressor module
1f82667 zram: fix incorrect stat with failed_reads
075241c zram: replace global tb_lock with fine grain lock
8709b6b zram: use size_t instead of u16
517fd67 zram: remove unused SECTOR_SIZE define
2b13c20 zram: rename struct `table' to `zram_table_entry'
187a902 zram: avoid lockdep splat by revalidate_disk
9a9f224 zram: revalidate disk after capacity change
c475acf zram: correct offset usage in zram_bio_discard
e1a61f0 zram: support REQ_DISCARD
35f7bb0 zram: use scnprintf() in attrs show() methods
91328ed zram: propagate error to user
4f995e6 zram: return error-valued pointer from zcomp_create()
0b609bd zram: move comp allocation out of init_lock
d91c97b zram: add lz4 algorithm backend
6182c01 zram: make compression algorithm selection possible
e6e0680 zram: add set_max_streams knob
7db9d9d zram: add multi stream functionality
21d7e34 zram: document failed_reads, failed_writes stats
0379e61 zram: factor out single stream compression
1822109 zram: use zcomp compressing backends
414bf1c zram: introduce compressing backend abstraction
64d8df8 zram: delete zram_init_device()
c20ebd7 zram: move zram size warning to documentation
0af6b10 zram: drop not used table `count' member
1fd5551 zram: report failed read and write stats
9ef962e zram: remove zram stats code duplication
6ab83f3 zram: use atomic64_t for all zram stats
1d81955 zram: remove good and bad compress stats
25a1032 zram: do not pass rw argument to __zram_make_request()
3b43eae zram: drop `init_done' struct zram member
0378177 zram: avoid null access when fail to alloc meta
8b555b9 zram: remove zram->lock in read path and change it with mutex
cdbd2a6 zram: remove workqueue for freeing removed pending slot
03ea8b5 zram: introduce zram->tb_lock
4d998ac zram: use atomic operation for stat
c8f984b zram: remove unnecessary free
95fbfb8 zram: delay pending free request in read path
5343c20 zram: fix race between reset and flushing pending work
7bd9d3e zram: add copyright
47176d5 zram: promote zram from staging
5636a0d zsmalloc: add copyright
286588f zsmalloc: move it under mm
888aed9 Staging: zram: Fix memory leak by refcount mismatch
895ec41 Staging: zram: Fix access of NULL pointer
bae6d9d Staging: zram: Fix variable dereferenced before check
a491dd7 Revert "staging: zram: Add auto loading of module if user opens /dev/zram."
4b85df5 zsmalloc: add more comment
7dd2395 zsmalloc: add Kconfig for enabling page table method
2ee074b staging: zsmalloc: Ensure handle is never 0 on success
195db76 staging: zsmalloc: access page->private by using page_private macro
210b418 staging/zsmalloc: Fixed up incorrect formatted comments
6507ab8 Staging: Fixes string split across lines in zsmalloc zsmalloc-main
b8a2bd1 staging: zram: Rate limit memory allocation errors
c32d11d zram: Change ratio to 90% for bad compress
875fae5 zram: Disable allocation failure logging
84fe4a2 zram: don't grab mutex in zram_slot_free_noity
36ba493 zram: fix invalid memory access
e60cdab Staging: zram: zram_drv.c: Fixed Error of trailing whitespace
a0b95fe zram: prevent data loss in error cases of function zram_bvec_write()
cb42ec8 staging: zram: Add auto loading of module if user opens /dev/zram.
a13825f staging: zram: protect zram_reset_device() call
843651d7 zram: allow request end to coincide with disksize
88b3402 zram: remove zram_sysfs file (v2)
5c55bd1 zram: use atomic64_xxx() to replace zram_stat64_xxx()
f98e3f7 zram: simplify and optimize dev_to_zram()
c067ed4 zram: protect sysfs handler from invalid memory access
9966248 zram: optimize memory operations with clear_page()/copy_page()
f25a7b7 zram: kill unused zram_get_num_devices()
cc346da zram: avoid access beyond the zram device
0a4ee7e zram: avoid double free in function zram_bvec_write()
750c4a7 zram: destroy all devices on error recovery path in zram_init()
fca3f62 zram: use zram->lock to protect zram_free_page() in swap free notify path
6e6f9ee zram: avoid invalid memory access in zram_exit()
a8fd5f3 Staging: Fixes string split across lines in zram
f27ad12 staging: zram: Fix zram_make_request type for 3.0 kernel
67a88ac staging: zsmalloc: Rename page_mapcount_reset
34ea338 zsmalloc: use 3.10 version of zsmalloc
2d2bf2aa zram: use 3.10 version of zram
1257909 CHROMIUM: UPSTREAM: staging: zram/zcache: swtich Kconfig dependency from X86 to ZSMALLOC
d25b478 staging: zcache: fix Kconfig crypto dependency
c145ef3 staging/zmem: Use lockdep_assert_held instead of spin_is_locked
9adc7ea staging: zcache: fix memory corruption bug
454f258 staging: zcache: fix length type mismatch
d65ee03 staging: zcache: replace xvmalloc with zsmalloc
06cdf4f mm: zcache/tmem/cleancache: s/flush/invalidate/
4c7cee5 CHROMIUM: UPSTREAM: staging: zsmalloc: remove x86 dependency
a6376ca staging: zsmalloc: Finish conversion to a separate module
bd731ec staging: zsmalloc: fix memory leak
9347527 staging: zsmalloc: change ZS_MIN_ALLOC_SIZE
821ddf6 staging: zsmalloc: calculate MAX_PHYSMEM_BITS if not defined
da881f2 staging: zsmalloc: add ZS_MAX_PAGES_PER_ZSPAGE
7466add staging: zsmalloc: move object/handle masking defines
cf008df staging: fix powerpc linux-next break on zsmalloc
95dd814 staging: zsmalloc: zsmalloc memory allocation library
da55e1b staging: zcache: support multiple clients, prep for KVM and RAMster
fc7e733 zram: fix merge
b87df97 staging: zram: replace xvmalloc with zsmalloc
6300749 Staging: zram: allow partial page operations
9e0c774 staging: zram: Rename module parameter
3165e8c staging: zram: remove xvmalloc
42d1b3d staging: zram: make global var "num_devices" use unique name
16993cd staging: zram: make global var "devices" use unique name
bbf4585 Staging: zram: Remove useless offset calculation in handle_uncompressed_page()
3735d94 Staging: zram: Add a missing GFP_KERNEL specifier in zram_init_device()
b6eba99 Staging: zram/zram_sysfs.c: Fixed call of obsolete function strict_strtoX
c3fb096 zram: Fix sparse warnings
848d1bb staging: zram: prevent accessing an unallocated table when init fails early
828121d staging: zram: fix zram locking
f526a35 Staging: zram: Replace mutex lock by a R/W semaphore
dc3b0f1 Staging: zram: Refactor zram_read/write() functions
c472828 Revert "Add ZRAM_FOR_ANDROID"

device/samsung/galaxys2-common
f6a3a31 init: increase read-ahead value to 256 kb
835d477 Use 2 zRAM compression streams (now that our driver can)