> |error = uvm_pglistalloc(map.pagesize, avail_start, > | avail_end, 0, 0, &mlist, 1, 1); > |if (error) { > | wakeup(&uvm.pagedaemon); > | error = uvm_pglistalloc(map.pagesize, avail_start, > | avail_end, 0, 0, &mlist, 1, 1); wakeup で為されることは, そこで寝ている process を run queue に入れる ことだけです. sleep して cpu resource を使わせてあげる必要があります. # で, generic な memory shotage wait channel が要るとう話になるんでし # たっけ? enami.