Messages in this thread | | | Date | Thu, 17 Jun 2010 15:23:12 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | Re: [PATCH 12/12] vmscan: Do not writeback pages in direct reclaim |
| |
On Thu, 17 Jun 2010 02:16:47 -0400 Christoph Hellwig <hch@infradead.org> wrote:
> On Thu, Jun 17, 2010 at 09:25:38AM +0900, KAMEZAWA Hiroyuki wrote: > > > > BTW, why xbf_buf_create() use GFP_KERNEL even if it can be blocked ? > > memory cgroup just limits pages for users, then, doesn't intend to > > limit kernel pages. > > You mean xfs_buf_allocate? It doesn't in the end. It goes through the > xfs_kmem helper which clear __GFP_FS if we're currently inside a > filesystem transaction (PF_FSTRANS is set) or a caller specificly > requested it to be disabled even without that by passig the > XBF_DONT_BLOCK flag. > Ah, sorry. My question was wrong.
If xfs_buf_allocate() is not for pages on LRU but for kernel memory, memory cgroup has no reason to charge against it because we can't reclaim memory which is not on LRU.
Then, I wonder I may have to add following check
if (!(gfp_mask & __GFP_RECLAIMABLE)) { /* ignore this. we just charge against reclaimable memory on LRU. */ return 0; }
to mem_cgroup_charge_cache() which is a hook for accounting page-cache.
Thanks, -Kame
| |