> [Request For Testers: please test this on your system...]
>
> Hi,
>
> the following patch makes use of the fact that refill_inactive()
> now calls swap_out() before calling refill_inactive_scan() and
> the fact that the inactive_dirty list is now reclaimed in a fair
> LRU order.
>
> Background scanning can now be replaced by a simple call to
> refill_inactive(), instead of the refill_inactive_scan(), which
> gave mapped pages an unfair advantage over unmapped ones.
Hi Rik,
While I was testing this suggestion (still actually) prior to your
RFT, the first thing I did was the straight substitution, but under
heavy load, the additional swap/aging when there is a ~persistant
shortage hurt ~fairly badly. What I did instead, and shows no ill
effects under any load I've tried so far was...
/* If needed, try to free some memory. */
if (inactive_shortage() || free_shortage())
do_try_to_free_pages(GFP_KSWAPD, 0);
else {
/* Do background page aging. */
swap_out(DEF_PRIORITY, GFP_KSWAPD);
refill_inactive_scan(DEF_PRIORITY, 0);
}
I still had the benefit of idle pages being pushed to disk quickly
and staying there :) IMHO, this is the first real candidate for a
sysctl tunable, as it's possibly not good for everyone. As indicated
privately, I like the effect of this suggestion a lot, but laptop
people may not because of the infrequent and miniscule swapin (which
_might_ be an irritant _if_ they are doing enough work etc etc).
-Mike
(this report would have landed in your mailbox tomorrow.. I was too
slow. sending it to lkml lest someone sees the same high load thing
I did and determine it's a loss unfairly)
-
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/