Re: invalidate_inode_pages in 2.5.32/3

Chuck Lever
2002-09-05T21:36:52Z

Andrew Morton wrote:

> Trond Myklebust wrote:
>
>>>>>>>" " == Andrew Morton <akpm@zip.com.au> writes:
>>>>>>>
>> > You may have more success using the stronger
>> > invalidate_inode_pages2().
>>
>>Shouldn't make any difference. Chuck is seeing this on readdir() pages
>>which, of course, don't suffer from problems of dirtiness etc on NFS.
>>
>
> Well the VM will take a ref on the page during reclaim even if it
> is clean.
>
> With what sort of frequency does this happen? If it's easily reproducible
> then dunno. If it's once-an-hour then it may be page reclaim, conceivably.
> The PageLRU debug test in there will tell us.

this happens every time i run test6 on 2.5.32 or 2.5.33. the pages
are not on the LRU, and are not locked, when the NFS client calls
invalidate_inode_pages.

how do these pages get into the page cache? answer:

nfs_readdir_filler is invoked by read_cache_page to fill a page.
when nfs_readdir_filler is invoked in 2.5.31, the page count on the
page to be filled is always 2. when nfs_readdir_filler is invoked
in 2.5.32+, the page count is very often 3, but occasionally it is 2.

- Chuck Lever

--
corporate:
<cel at netapp dot com>
personal:
<chucklever at bigfoot dot com>