Linus,

Currently __alloc_pages() does not allow PF_MEMALLOC tasks to free clean
inactive pages.

This is senseless --- if the allocation has __GFP_WAIT set, its ok to grab
the pagemap_lru_lock/pagecache_lock/etc.

I checked all possible codepaths after reclaim_page() and they are ok.

The following patch fixes that.


--- linux/mm/page_alloc.c.orig  Fri Apr 27 05:59:35 2001
+++ linux/mm/page_alloc.c       Fri Apr 27 05:59:48 2001
@@ -295,8 +295,7 @@
         * Can we take pages directly from the inactive_clean
         * list?
         */
-       if (order == 0 && (gfp_mask & __GFP_WAIT) &&
-                       !(current->flags & PF_MEMALLOC))
+       if (order == 0 && (gfp_mask & __GFP_WAIT))
                direct_reclaim = 1;
 
        /*


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to