On Sun, 2016-05-01 at 02:08 +0100, Al Viro wrote: > On Sun, May 01, 2016 at 01:18:16AM +0100, Al Viro wrote: > > > > On Sun, May 01, 2016 at 01:02:55AM +0100, Al Viro wrote: > > > > > > I wonder if we ought to put a counter into nfs_cache_array, > > > initialized to 1 > > > (in nfs_readdir_xdr_to_array()), bumped in get_cache_page() and > > > decremented > > > both in cache_page_release() and in ->freepage(). With actual > > > freeing > > > of names happening only when the sucker reaches 0, and > > > get_cache_page() > > > treating "oops, it's already 0, someone has just evicted it from > > > page cache" > > > as "page_cache_release() and retry". Objections? > > Something like (completely untested) > No problems after 100 iterations... Folded and pushed. Same here. Ran same test vs. your work.lookups branch and it seems fine now. Cheers, -- Jeff Layton <jlayton@xxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html