]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/staging/android/lowmemorykiller.c
Merge tag 'usb-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
[karo-tx-linux.git] / drivers / staging / android / lowmemorykiller.c
index 6f094b37f1f1dc0388d07246635eadbe9c7399ff..b545d3d1da3e5f6ccbd59f783e55ce30ff23479d 100644 (file)
@@ -88,7 +88,8 @@ static unsigned long lowmem_scan(struct shrinker *s, struct shrink_control *sc)
        int array_size = ARRAY_SIZE(lowmem_adj);
        int other_free = global_page_state(NR_FREE_PAGES) - totalreserve_pages;
        int other_file = global_page_state(NR_FILE_PAGES) -
-                                               global_page_state(NR_SHMEM);
+                                               global_page_state(NR_SHMEM) -
+                                               total_swapcache_pages();
 
        if (lowmem_adj_size < array_size)
                array_size = lowmem_adj_size;
@@ -159,8 +160,8 @@ static unsigned long lowmem_scan(struct shrinker *s, struct shrink_control *sc)
                             selected->pid, selected->comm,
                             selected_oom_score_adj, selected_tasksize);
                lowmem_deathpending_timeout = jiffies + HZ;
-               send_sig(SIGKILL, selected, 0);
                set_tsk_thread_flag(selected, TIF_MEMDIE);
+               send_sig(SIGKILL, selected, 0);
                rem += selected_tasksize;
        }