tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

uvm_pageactivate, uvm_pageenqueue and uvm_pageqlock



Hi,

With fork-intensive workloads there is a huge amount of contention on
uvm_pageqlock. Most of it comes from uvm_fault_internal, which passes
hints to the page replacement policy on ~every fault.

This patch changes uvm_pageactivate() and uvm_pageenqueue() to do an
unlocked check to see if operation actually needs to be done. Only if
true does it acquire the lock and call into the page replacement policy
to do the work.

        http://www.netbsd.org/~ad/activate.diff

I am not sure what should happen for clockpro's uvmpdpol_pageisactive_p(),
though.

Comments?

Thanks,
Andrew


Home | Main Index | Thread Index | Old Index