Changeset View
Changeset View
Standalone View
Standalone View
sys/vm/vm_reserv.c
Show First 20 Lines • Show All 310 Lines • ▼ Show 20 Lines | sysctl_vm_reserv_fullpop(SYSCTL_HANDLER_ARGS) | ||||
struct vm_phys_seg *seg; | struct vm_phys_seg *seg; | ||||
vm_reserv_t rv; | vm_reserv_t rv; | ||||
int fullpop, segind; | int fullpop, segind; | ||||
fullpop = 0; | fullpop = 0; | ||||
for (segind = 0; segind < vm_phys_nsegs; segind++) { | for (segind = 0; segind < vm_phys_nsegs; segind++) { | ||||
seg = &vm_phys_segs[segind]; | seg = &vm_phys_segs[segind]; | ||||
paddr = roundup2(seg->start, VM_LEVEL_0_SIZE); | paddr = roundup2(seg->start, VM_LEVEL_0_SIZE); | ||||
while (paddr + VM_LEVEL_0_SIZE <= seg->end) { | while (paddr <= seg->end - VM_LEVEL_0_SIZE) { | ||||
kib: () around minus are not needed | |||||
Done Inline Actionsdone ray: done | |||||
rv = &vm_reserv_array[paddr >> VM_LEVEL_0_SHIFT]; | rv = &vm_reserv_array[paddr >> VM_LEVEL_0_SHIFT]; | ||||
fullpop += rv->popcnt == VM_LEVEL_0_NPAGES; | fullpop += rv->popcnt == VM_LEVEL_0_NPAGES; | ||||
paddr += VM_LEVEL_0_SIZE; | paddr += VM_LEVEL_0_SIZE; | ||||
} | } | ||||
} | } | ||||
return (sysctl_handle_int(oidp, &fullpop, 0, req)); | return (sysctl_handle_int(oidp, &fullpop, 0, req)); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 722 Lines • ▼ Show 20 Lines | vm_reserv_init(void) | ||||
/* | /* | ||||
* Initialize the reservation array. Specifically, initialize the | * Initialize the reservation array. Specifically, initialize the | ||||
* "pages" field for every element that has an underlying superpage. | * "pages" field for every element that has an underlying superpage. | ||||
*/ | */ | ||||
for (segind = 0; segind < vm_phys_nsegs; segind++) { | for (segind = 0; segind < vm_phys_nsegs; segind++) { | ||||
seg = &vm_phys_segs[segind]; | seg = &vm_phys_segs[segind]; | ||||
paddr = roundup2(seg->start, VM_LEVEL_0_SIZE); | paddr = roundup2(seg->start, VM_LEVEL_0_SIZE); | ||||
while (paddr + VM_LEVEL_0_SIZE <= seg->end) { | while (paddr <= seg->end - VM_LEVEL_0_SIZE) { | ||||
rv = &vm_reserv_array[paddr >> VM_LEVEL_0_SHIFT]; | rv = &vm_reserv_array[paddr >> VM_LEVEL_0_SHIFT]; | ||||
rv->pages = PHYS_TO_VM_PAGE(paddr); | rv->pages = PHYS_TO_VM_PAGE(paddr); | ||||
rv->domain = seg->domain; | rv->domain = seg->domain; | ||||
mtx_init(&rv->lock, "vm reserv", NULL, MTX_DEF); | mtx_init(&rv->lock, "vm reserv", NULL, MTX_DEF); | ||||
paddr += VM_LEVEL_0_SIZE; | paddr += VM_LEVEL_0_SIZE; | ||||
} | } | ||||
} | } | ||||
for (i = 0; i < MAXMEMDOM; i++) { | for (i = 0; i < MAXMEMDOM; i++) { | ||||
▲ Show 20 Lines • Show All 357 Lines • Show Last 20 Lines |
() around minus are not needed