Eliminate the acquisition and release of the page queues lock from
vfs_busy_pages(). It is no longer needed. Submitted by: kib
This commit is contained in:
parent
785c3f7ea4
commit
e98d019d3c
@ -3508,7 +3508,6 @@ vfs_page_set_validclean(struct buf *bp, vm_ooffset_t off, vm_page_t m)
|
||||
{
|
||||
vm_ooffset_t soff, eoff;
|
||||
|
||||
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
|
||||
/*
|
||||
* Start and end offsets in buffer. eoff - soff may not cross a
|
||||
* page boundry or cross the end of the buffer. The end of the
|
||||
@ -3571,8 +3570,6 @@ vfs_busy_pages(struct buf *bp, int clear_modify)
|
||||
goto retry;
|
||||
}
|
||||
bogus = 0;
|
||||
if (clear_modify)
|
||||
vm_page_lock_queues();
|
||||
for (i = 0; i < bp->b_npages; i++) {
|
||||
m = bp->b_pages[i];
|
||||
|
||||
@ -3605,8 +3602,6 @@ vfs_busy_pages(struct buf *bp, int clear_modify)
|
||||
}
|
||||
foff = (foff + PAGE_SIZE) & ~(off_t)PAGE_MASK;
|
||||
}
|
||||
if (clear_modify)
|
||||
vm_page_unlock_queues();
|
||||
VM_OBJECT_UNLOCK(obj);
|
||||
if (bogus)
|
||||
pmap_qenter(trunc_page((vm_offset_t)bp->b_data),
|
||||
|
@ -2084,7 +2084,6 @@ vm_page_set_validclean(vm_page_t m, int base, int size)
|
||||
int frag;
|
||||
int endoff;
|
||||
|
||||
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
|
||||
VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED);
|
||||
if (size == 0) /* handle degenerate case */
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user