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
> > how do you think about retiring explicit activate calls and
> > setting page's reference bit using atomic ops instead?
what i was thinking here was pmap_set_reference(pg) or its MI equivalent.
> Here's a better patch than the one I posted earlier:
>
> http://www.netbsd.org/~ad/uvm.diff
a while ago, page-loaning code was changed so that loaned pages are left
on the queue. the pagedaemon later breaks loans when it picked them.
i think that page wiring can be done in a similar way.
ie. in uvm_pagewire, simply mark the page as wired and leave it on the queue.
iff the pagedaemon picked the marked page, dequeue it.
> What about making all pages available to the page scanner for inspection,
> instead of enqueueing and dequeueing them regularly? I think that with more
> than 1 CPU, it's likely to cost a lot less CPU time than we currently waste
> spinning on uvm_pageqlock.
it's basically what linux currently does.
i've heard that, with certain workloads, it suffered from cpu-hogging
of page scanner. eg. when an application mlock a lot of pages.
YAMAMOTO Takashi
Home |
Main Index |
Thread Index |
Old Index