Remove pmap_pagedaemon_waken and update pmap_get_pv_entry() to match the
current interface with the machine-independent layer. Without this change, the page daemon would only have been awakened the first time that the number of pv entries went above the high water mark, not each time.
This commit is contained in:
parent
2087cafb70
commit
fd5cb69756
@ -413,7 +413,6 @@ static vm_offset_t pmap_kernel_l2ptp_kva;
|
||||
static vm_paddr_t pmap_kernel_l2ptp_phys;
|
||||
static struct vm_object pvzone_obj;
|
||||
static int pv_entry_count=0, pv_entry_max=0, pv_entry_high_water=0;
|
||||
int pmap_pagedaemon_waken = 0;
|
||||
|
||||
/*
|
||||
* This list exists for the benefit of pmap_map_chunk(). It keeps track
|
||||
@ -3814,11 +3813,8 @@ pmap_get_pv_entry(void)
|
||||
pv_entry_t ret_value;
|
||||
|
||||
pv_entry_count++;
|
||||
if ((pv_entry_count > pv_entry_high_water) &&
|
||||
(pmap_pagedaemon_waken == 0)) {
|
||||
pmap_pagedaemon_waken = 1;
|
||||
wakeup (&vm_pages_needed);
|
||||
}
|
||||
if (pv_entry_count > pv_entry_high_water)
|
||||
pagedaemon_wakeup();
|
||||
ret_value = uma_zalloc(pvzone, M_NOWAIT);
|
||||
return ret_value;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user