LMK backported from kernel 3.4 and fixed to compile on Endeavoru.
lowmemorykiller.c: original patch from cyanogen. According to the commit message memory compaction is never invoked on Android because we avoid swap and don't allocate huge pages. This makes sense so on this patch we call the compaction when a process is killed to avoid memory fragmentation.