Eliminate (now) unnecessary acquisition and release of the global page

queues lock.
This commit is contained in:
Alan Cox 2004-12-29 04:49:10 +00:00
parent 68ca7644cf
commit 956d03da83
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=139393

View File

@ -453,7 +453,6 @@ cluster_rbuild(vp, filesize, lbn, blkno, size, run, fbp)
TAILQ_INSERT_TAIL(&bp->b_cluster.cluster_head,
tbp, b_cluster.cluster_entry);
VM_OBJECT_LOCK(tbp->b_bufobj->bo_object);
vm_page_lock_queues();
for (j = 0; j < tbp->b_npages; j += 1) {
vm_page_t m;
m = tbp->b_pages[j];
@ -467,7 +466,6 @@ cluster_rbuild(vp, filesize, lbn, blkno, size, run, fbp)
if ((m->valid & VM_PAGE_BITS_ALL) == VM_PAGE_BITS_ALL)
tbp->b_pages[j] = bogus_page;
}
vm_page_unlock_queues();
VM_OBJECT_UNLOCK(tbp->b_bufobj->bo_object);
/*
* XXX shouldn't this be += size for both, like in
@ -938,7 +936,6 @@ cluster_wbuild(vp, size, start_lbn, len)
}
}
}
vm_page_lock_queues();
for (j = 0; j < tbp->b_npages; j += 1) {
m = tbp->b_pages[j];
vm_page_io_start(m);
@ -949,7 +946,6 @@ cluster_wbuild(vp, size, start_lbn, len)
bp->b_npages++;
}
}
vm_page_unlock_queues();
VM_OBJECT_UNLOCK(tbp->b_bufobj->bo_object);
}
bp->b_bcount += size;