Lines Matching refs:uvmexp
150 if (curlwp == uvm.pagedaemon_lwp && uvmexp.paging == 0) {
178 UVM_UNLOCK_AND_WAIT(&uvmexp.free, &uvmpd_lock, false, wmsg, timo);
191 if (fpages + uvmexp.paging < uvmexp.freemin ||
192 (fpages + uvmexp.paging < uvmexp.freetarg &&
218 val = uvmexp.npages / 200;
224 if (val < uvmexp.reserve_kernel + 1)
225 val = uvmexp.reserve_kernel + 1;
226 uvmexp.freemin = val;
229 val = (uvmexp.freemin * 4) / 3;
230 if (val <= uvmexp.freemin)
231 val = uvmexp.freemin + 1;
232 uvmexp.freetarg = val + atomic_swap_uint(&uvm_extrapages, 0);
234 uvmexp.wiredmax = uvmexp.npages / 3;
236 uvmexp.freemin, uvmexp.freetarg, uvmexp.wiredmax, 0);
267 npages = uvmexp.npages;
280 if ((uvm_pagedaemon_waiters == 0 || uvmexp.paging > 0) &&
285 uvmexp.pdwoke++;
295 if (npages != uvmexp.npages || extrapages != uvm_extrapages) {
296 npages = uvmexp.npages;
309 fpages, uvmexp.freetarg, 0,0);
311 needsfree = fpages + uvmexp.paging < uvmexp.freetarg;
325 if (uvm_availmem(false) > uvmexp.reserve_kernel ||
326 uvmexp.paging == 0) {
328 wakeup(&uvmexp.free);
353 atomic_add_int(&uvmexp.paging, npages);
360 KASSERT(atomic_load_relaxed(&uvmexp.paging) >= npages);
366 atomic_add_int(&uvmexp.paging, -npages);
373 if (uvm_availmem(false) <= uvmexp.reserve_kernel) {
376 wakeup(&uvmexp.free);
579 uvmexp.pdpageouts++;
675 uvmexp.paging
679 >= uvmexp.freetarg << 2 ||
720 uvmexp.pdbusy++;
726 uvmexp.pdobscan++;
730 uvmexp.pdanscan++;
778 atomic_inc_uint(&uvmexp.pdfreed);
795 KASSERT(uvmexp.swpgonly < uvmexp.swpginuse);
796 atomic_inc_uint(&uvmexp.swpgonly);
808 if (uvm_availmem(false) + uvmexp.paging >
809 uvmexp.freetarg << 2) {
849 uvmexp.pgswapout++;
878 atomic_inc_uint(&uvmexp.pdpending);
905 uvmexp.pdrevs++;
916 pages_freed = uvmexp.pdfreed;
918 pages_freed = uvmexp.pdfreed - pages_freed;
927 if (fpages < uvmexp.freetarg &&
928 uvmexp.swpginuse >= uvmexp.swpgavail &&
931 swap_shortage = uvmexp.freetarg - fpages;
941 if (uvm_availmem(false) < uvmexp.freemin) {
983 cpu_count_get(CPU_COUNT_FILEDIRTY) - uvmexp.wired);
1054 bufcnt = uvmexp.freetarg - uvm_availmem(false);