- Hold the page queues lock around vm_page_wakeup().

This commit is contained in:
Alan Cox 2002-12-23 21:47:46 +00:00
parent 6ce9c72c30
commit e7863f186a
2 changed files with 8 additions and 0 deletions

View File

@ -443,7 +443,9 @@ agp_generic_bind_memory(device_t dev, struct agp_memory *mem,
* Bail out. Reverse all the mappings
* and unwire the pages.
*/
vm_page_lock_queues();
vm_page_wakeup(m);
vm_page_unlock_queues();
for (k = 0; k < i + j; k += AGP_PAGE_SIZE)
AGP_UNBIND_PAGE(dev, offset + k);
for (k = 0; k <= i; k += PAGE_SIZE) {
@ -457,7 +459,9 @@ agp_generic_bind_memory(device_t dev, struct agp_memory *mem,
return error;
}
}
vm_page_lock_queues();
vm_page_wakeup(m);
vm_page_unlock_queues();
}
/*

View File

@ -443,7 +443,9 @@ agp_generic_bind_memory(device_t dev, struct agp_memory *mem,
* Bail out. Reverse all the mappings
* and unwire the pages.
*/
vm_page_lock_queues();
vm_page_wakeup(m);
vm_page_unlock_queues();
for (k = 0; k < i + j; k += AGP_PAGE_SIZE)
AGP_UNBIND_PAGE(dev, offset + k);
for (k = 0; k <= i; k += PAGE_SIZE) {
@ -457,7 +459,9 @@ agp_generic_bind_memory(device_t dev, struct agp_memory *mem,
return error;
}
}
vm_page_lock_queues();
vm_page_wakeup(m);
vm_page_unlock_queues();
}
/*