Messages in this thread | | | Date | Mon, 06 Feb 2006 21:46:51 +1100 | From | Nick Piggin <> | Subject | Re: [VM PATCH] rotate_reclaimable_page fails frequently |
| |
Marcelo Tosatti wrote:
> Marking PG_writeback pages as PG_rotated once they're chosen candidates > for eviction increases the number of rotated pages dramatically, but > that does not necessarily increase performance (I was unable to see any > performance increase under the limited testing I've done, even though > the pgrotated numbers were _way_ higher). >
Just FYI, this change can end up leaking the PageReclaim bit which IIRC can make bad noises in the free pages check, and is also a tiny bit sloppy unless we also do a precautionary ClearPageReclaim in writeback paths.
However I don't think it is a bad idea in theory.
> Another issue is that increasing the number of rotated pages increases > lru_lock contention, which might not be an advantage for certain > workloads. > > So, any change in this area needs careful study under a varied, > meaningful set of workloads and configurations (which has not been > happening very often). > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 5a61080..26319eb 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -447,8 +447,14 @@ static int shrink_list(struct list_head > if (page_mapped(page) || PageSwapCache(page)) > sc->nr_scanned++; > > - if (PageWriteback(page)) > + if (PageWriteback(page)) { > + /* mark writeback, candidate for eviction pages as > + * PG_reclaim to free them immediately once they're > + * laundered. > + */ > + SetPageReclaim(page); > goto keep_locked; > + } > > referenced = page_referenced(page, 1); > /* In active use or really unfreeable? Activate it. */ >
-- SUSE Labs, Novell Inc. Send instant messages to your online friends http://au.messenger.yahoo.com
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |