On Thu, 17 Jun 2010 02:16:47 -0400 Christoph Hellwig <hch@xxxxxxxxxxxxx> 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 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>