[PATCH] allow PF_MEMALLOC tasks to directly reclaim pages

From: Marcelo Tosatti (marcelo@conectiva.com.br)
Date: Fri Apr 27 2001 - 04:50:01 EST


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 majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Apr 30 2001 - 21:00:17 EST