1 Aug 2010 10:19
Re: [PATCH 6/6] vmscan: Kick flusher threads to clean pages when reclaim is encountering dirty pages
KOSAKI Motohiro <kosaki.motohiro <at> jp.fujitsu.com>
2010-08-01 08:19:56 GMT
2010-08-01 08:19:56 GMT
Hi Trond, > There is that, and then there are issues with the VM simply lying to the > filesystems. > > See https://bugzilla.kernel.org/show_bug.cgi?id=16056 > > Which basically boils down to the following: kswapd tells the filesystem > that it is quite safe to do GFP_KERNEL allocations in pageouts and as > part of try_to_release_page(). > > In the case of pageouts, it does set the 'WB_SYNC_NONE', 'nonblocking' > and 'for_reclaim' flags in the writeback_control struct, and so the > filesystem has at least some hint that it should do non-blocking i/o. > > However if you trust the GFP_KERNEL flag in try_to_release_page() then > the kernel can and will deadlock, and so I had to add in a hack > specifically to tell the NFS client not to trust that flag if it comes > from kswapd. Can you please elaborate your issue more? vmscan logic is, briefly, below if (PageDirty(page)) pageout(page) if (page_has_private(page)) { try_to_release_page(page, sc->gfp_mask)) So, I'm interest why nfs need to writeback at ->release_page again even though pageout() call ->writepage and it was successfull.(Continue reading)
RSS Feed