On Sun, 5 Sep 2004, Arjan van de Ven wrote:
well... we have a reverse mapping now. What is stopping us from doing
physical defragmentation ?
Nothing but replacement policy, really, and the fact that not everything
is rmappable.
I think we should _normally_ honor replacement policy, the way we do now. Only if we are in the situation "we have enough memory, but not enough
high-order-pages" should we go to a separate physical defrag algorithm.
So either kswapd should have a totally different mode, or there should be
a separate "kdefragd". It would potentially also be good if it is user-
triggerable, so that you could, for example, have a heavier defragd run
from the daily "cron" runs - something that doesn't seem to make much
sense from a traditional kswapd standpoint.
In other words, I don't think the physical thing should be triggered at all by normal memory pressure. A large-order allocation failure would trigger it "somewhat", and maybe it might run very slowly in the background (wake up every five minutes or so to see if it is worth doing anything), and then some user-triggerable way to make it more aggressive.
Does that sound sane to people?