Rik van Riel <[email protected]> wrote:
>
> On Sun, 5 Feb 2006, Shantanu Goel wrote:
>
> > It seems rotate_reclaimable_page fails most of the
> > time due the page not being on the LRU when kswapd
> > calls writepage().
>
> The question is, why is the page not yet back on the
> LRU by the time the data write completes ?
Could be they're ext3 pages which were written out by kjournald. Such
pages are marked dirty but have clean buffers. ext3_writepage() will
discover that the page is actually clean and will mark it thus without
performing any I/O.
In which case this code in shrink_list():
/*
* A synchronous write - probably a ramdisk. Go
* ahead and try to reclaim the page.
*/
if (TestSetPageLocked(page))
goto keep;
if (PageDirty(page) || PageWriteback(page))
goto keep_locked;
mapping = page_mapping(page);
case PAGE_CLEAN:
; /* try to free the page below */
should just go and reclaim the page immediately.
Shantanu, I suggest you add some instrumentation there too, see if it's
working. (That'll be non-trivial. Just because we hit PAGE_CLEAN: here
doesn't necessarily mean that the page will be reclaimed).
-
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/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]