Re: [PATCH 06/10] ksm: identify PageKsm pages

From: Hugh Dickins
Date: Wed Jul 22 2009 - 08:54:25 EST


On Tue, 21 Jul 2009, Rik van Riel wrote:
> Andrea Arcangeli wrote:
> > > - if (PageAnon(old_page)) {
> > > + if (PageAnon(old_page) && !PageKsm(old_page)) {
> > > if (!trylock_page(old_page)) {
> > > page_cache_get(old_page);
> > > pte_unmap_unlock(page_table, ptl);
> >
> > What exactly does it buy to have PageAnon return 1 on ksm pages,
> > besides requiring the above additional check (that if we stick to the
> > above code, I would find safer to move inside reuse_swap_page).
>
> I guess that if they are to remain unswappable, they
> should go onto the unevictable list.

The KSM pages are not put on any LRU, so wouldn't be slowing vmscan
down with futile scans: isn't the unevictable list for pages which
belong to another LRU once they become evictable again?

(At this instant I've forgotten why there's an unevictable list at
all - somewhere in vmscan.c which is accustomed to dealing with
pages on lists, so easier to have them on a list than not?)

>
> Then again, I'm guessing this is all about to change
> in not too much time :)

Yes, I'd much rather put the effort into making them swappable,
than fiddling with counts here and there to highlight their
current unswappability.

Hugh
--
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/