Hi.
No, this doesn't break it at all, what it does is require the IO page
to be touched more times before it's considered truly active. This
partly takes care of the theory that an intial burst of activity on
the page should be considered as only one use.
We can expose this activation threshold through proc so you can adjust it
without recompiling. I'll prepare a patch for that.
Another thing you might try is just reversing the unlazy activation patch
I posted previously (and Linus put into 2.4.9) because that will achieve
the effect of treating all touches of the page while it's on the inactive
list as a single reference. But that has the disadvantage of making the
system think it has more inactive pages than it really does, and since the
scanning logic is a little fragile it doesn't sound like such a good idea
right now.
I intend to try a separate queue for newly activated pages so that the
time spent on the queue can be decoupled from the number of aged-to-zero
inactive pages, and we can get finer control over the period during which
all touches on the page are grouped together into a single reference.
This is 2.5 material.
> --- mm/filemap.c.org Mon Aug 20 17:25:20 2001
> +++ mm/filemap.c Mon Aug 20 17:25:50 2001
> @@ -980,7 +980,7 @@
> static inline void check_used_once (struct page *page)
> {
> if (!PageActive(page)) {
> - if (page->age)
> + if (page->age > PAGE_AGE_START)
> activate_page(page);
> else {
> page->age = PAGE_AGE_START;
>
>
-
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/