Re: [patch 3/3] mm: keep pages from unevictable mappings off the LRU lists

From: KOSAKI Motohiro
Date: Mon Mar 23 2009 - 05:23:51 EST


> > > this is the just reason why current code don't call add_page_to_unevictable_list().
> > > add_page_to_unevictable_list() don't use pagevec. it is needed for avoiding race.
> > >
> > > then, if readahead path (i.e. add_to_page_cache_lru()) use add_page_to_unevictable_list(),
> > > it can cause zone->lru_lock contention storm.
> >
> > How is it different then shrink_page_list()? If readahead put a
> > contiguous chunk of unevictable pages to the file lru, then
> > shrink_page_list() will as well call add_page_to_unevictable_list() in
> > a loop.
>
> it's probability issue.
>
> readahead: we need to concern
> (1) readahead vs readahead
> (2) readahead vs reclaim
>
> vmscan: we need to concern
> (3) background reclaim vs foreground reclaim
>
> So, (3) is rarely event than (1) and (2).
> Am I missing anything?

my last mail explanation is too poor. sorry.
I don't dislike this patch concept. but it seems a bit naive against contention.
if we can decrease contention risk, I can ack with presure.



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/