Symbol: uvm_km_pages
sys/uvm/uvm_km.c
190
mtx_init(&uvm_km_pages.mtx, IPL_VM);
sys/uvm/uvm_km.c
346
struct uvm_km_pages uvm_km_pages;
sys/uvm/uvm_km.c
366
if (!uvm_km_pages.lowat) {
sys/uvm/uvm_km.c
368
uvm_km_pages.lowat = physmem / 256;
sys/uvm/uvm_km.c
370
if (uvm_km_pages.lowat < lowat_min)
sys/uvm/uvm_km.c
371
uvm_km_pages.lowat = lowat_min;
sys/uvm/uvm_km.c
373
if (uvm_km_pages.lowat > UVM_KM_PAGES_LOWAT_MAX)
sys/uvm/uvm_km.c
374
uvm_km_pages.lowat = UVM_KM_PAGES_LOWAT_MAX;
sys/uvm/uvm_km.c
375
uvm_km_pages.hiwat = 4 * uvm_km_pages.lowat;
sys/uvm/uvm_km.c
376
if (uvm_km_pages.hiwat > UVM_KM_PAGES_HIWAT_MAX)
sys/uvm/uvm_km.c
377
uvm_km_pages.hiwat = UVM_KM_PAGES_HIWAT_MAX;
sys/uvm/uvm_km.c
381
bulk = uvm_km_pages.hiwat;
sys/uvm/uvm_km.c
382
while (len < uvm_km_pages.hiwat && bulk > 0) {
sys/uvm/uvm_km.c
383
bulk = MIN(bulk, uvm_km_pages.hiwat - len);
sys/uvm/uvm_km.c
395
uvm_km_pages.page[i] = addr;
sys/uvm/uvm_km.c
399
uvm_km_pages.free = len;
sys/uvm/uvm_km.c
401
uvm_km_pages.page[i] = 0;
sys/uvm/uvm_km.c
404
if (uvm_km_pages.lowat > 512)
sys/uvm/uvm_km.c
405
uvm_km_pages.lowat = 512;
sys/uvm/uvm_km.c
417
kthread_create(uvm_km_thread, NULL, &uvm_km_pages.km_proc, "kmthread");
sys/uvm/uvm_km.c
436
mtx_enter(&uvm_km_pages.mtx);
sys/uvm/uvm_km.c
437
if (uvm_km_pages.free >= uvm_km_pages.lowat &&
sys/uvm/uvm_km.c
438
uvm_km_pages.freelist == NULL) {
sys/uvm/uvm_km.c
439
msleep_nsec(&uvm_km_pages.km_proc, &uvm_km_pages.mtx,
sys/uvm/uvm_km.c
442
allocmore = uvm_km_pages.free < uvm_km_pages.lowat;
sys/uvm/uvm_km.c
443
fp = uvm_km_pages.freelist;
sys/uvm/uvm_km.c
444
uvm_km_pages.freelist = NULL;
sys/uvm/uvm_km.c
445
uvm_km_pages.freelistlen = 0;
sys/uvm/uvm_km.c
446
mtx_leave(&uvm_km_pages.mtx);
sys/uvm/uvm_km.c
473
mtx_enter(&uvm_km_pages.mtx);
sys/uvm/uvm_km.c
475
if (uvm_km_pages.free ==
sys/uvm/uvm_km.c
476
nitems(uvm_km_pages.page))
sys/uvm/uvm_km.c
479
uvm_km_pages.page[uvm_km_pages.free++]
sys/uvm/uvm_km.c
482
wakeup(&uvm_km_pages.free);
sys/uvm/uvm_km.c
483
mtx_leave(&uvm_km_pages.mtx);
sys/uvm/uvm_km.c
512
mtx_enter(&uvm_km_pages.mtx);
sys/uvm/uvm_km.c
513
if (uvm_km_pages.free < uvm_km_pages.hiwat) {
sys/uvm/uvm_km.c
514
uvm_km_pages.page[uvm_km_pages.free++] = va;
sys/uvm/uvm_km.c
517
mtx_leave(&uvm_km_pages.mtx);
sys/uvm/uvm_km.c
598
mtx_enter(&uvm_km_pages.mtx);
sys/uvm/uvm_km.c
599
while (uvm_km_pages.free == 0) {
sys/uvm/uvm_km.c
601
mtx_leave(&uvm_km_pages.mtx);
sys/uvm/uvm_km.c
605
msleep_nsec(&uvm_km_pages.free, &uvm_km_pages.mtx,
sys/uvm/uvm_km.c
608
va = uvm_km_pages.page[--uvm_km_pages.free];
sys/uvm/uvm_km.c
609
if (uvm_km_pages.free < uvm_km_pages.lowat &&
sys/uvm/uvm_km.c
610
curproc != uvm_km_pages.km_proc) {
sys/uvm/uvm_km.c
613
wakeup(&uvm_km_pages.km_proc);
sys/uvm/uvm_km.c
615
mtx_leave(&uvm_km_pages.mtx);
sys/uvm/uvm_km.c
681
mtx_enter(&uvm_km_pages.mtx);
sys/uvm/uvm_km.c
682
fp->next = uvm_km_pages.freelist;
sys/uvm/uvm_km.c
683
uvm_km_pages.freelist = fp;
sys/uvm/uvm_km.c
684
if (uvm_km_pages.freelistlen++ > 16)
sys/uvm/uvm_km.c
685
wakeup(&uvm_km_pages.km_proc);
sys/uvm/uvm_km.c
686
mtx_leave(&uvm_km_pages.mtx);
sys/uvm/uvm_km.h
77
extern struct uvm_km_pages uvm_km_pages;