YAMAMOTO Takashi <y...@mwd.biglobe.ne.jp> wrote: > the pagedaemon stays sleeping because there's already enough paging > requests in-progress. (see "paging=" in the ddb show uvm output.) > it (reasonably) assumes i/o will complete "soon".
The offending code would be void uvm_kick_pdaemon(void) { KASSERT(mutex_owned(&uvm_fpageqlock)); if (uvmexp.free + uvmexp.paging < uvmexp.freemin || (uvmexp.free + uvmexp.paging < uvmexp.freetarg && uvmpdpol_needsscan_p())) { wakeup(&uvm.pagedaemon); } } My uvm stats gives me this, and indeed nothing wakes up pagedaemon: uvmexp.free = 1 uvmexp.paging = 907 uvmexp.freemin = 256 uvmexp.freetarg = 341 But I would expect paging requests to complete one day, why would thet remain in progress forever? -- Emmanuel Dreyfus http://hcpnet.free.fr/pubz m...@netbsd.org