tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: uvm_pageactivate, uvm_pageenqueue and uvm_pageqlock
On Thu, Jun 05, 2008 at 01:34:38PM +0900, YAMAMOTO Takashi wrote:
> > 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
>
> how do you think about retiring explicit activate calls and
> setting page's reference bit using atomic ops instead?
Do you mean something like this?
http://www.netbsd.org/~ad/clock.diff
I guess we could make pageenqueue/dequeue lazy, and add a check for wired pages
in the scanner.
Andrew
Home |
Main Index |
Thread Index |
Old Index