ion: free low memory from page pools first
authorColin Cross <ccross@android.com>
Sat, 14 Dec 2013 03:26:22 +0000 (19:26 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2013 16:59:53 +0000 (08:59 -0800)
When the shrinkers are called with GFP_HIGH free low memory first,
it is more important to have free than high memory.

Signed-off-by: Colin Cross <ccross@android.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/android/ion/ion_page_pool.c

index 979d2e4..0ad0263 100644 (file)
@@ -143,10 +143,10 @@ int ion_page_pool_shrink(struct ion_page_pool *pool, gfp_t gfp_mask,
                struct page *page;
 
                mutex_lock(&pool->mutex);
-               if (high && pool->high_count) {
-                       page = ion_page_pool_remove(pool, true);
-               } else if (pool->low_count) {
+               if (pool->low_count) {
                        page = ion_page_pool_remove(pool, false);
+               } else if (high && pool->high_count) {
+                       page = ion_page_pool_remove(pool, true);
                } else {
                        mutex_unlock(&pool->mutex);
                        break;