Re: [RFC] respect the referenced bit of KVM guest pages?

From: Rik van Riel
Date: Sat Aug 15 2009 - 23:54:14 EST


Wu Fengguang wrote:
On Fri, Aug 07, 2009 at 05:09:55AM +0800, Jeff Dike wrote:
Side question -
Is there a good reason for this to be in shrink_active_list()
as opposed to __isolate_lru_page?

if (unlikely(!page_evictable(page, NULL))) {
putback_lru_page(page);
continue;
}

Maybe we want to minimize the amount of code under the lru lock or
avoid duplicate logic in the isolate_page functions.

I guess the quick test means to avoid the expensive page_referenced()
call that follows it. But that should be mostly one shot cost - the
unevictable pages are unlikely to cycle in active/inactive list again
and again.

Please read what putback_lru_page does.

It moves the page onto the unevictable list, so that
it will not end up in this scan again.

But if there are important mlock-heavy workloads, this could make the
scan come up empty, or at least emptier than we might like.

Yes, if the above 'if' block is removed, the inactive lists might get
more expensive to reclaim.

Why?

--
All rights reversed.
--
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/