diff options
author | Bob Beck <beck@cvs.openbsd.org> | 2008-06-10 20:14:38 +0000 |
---|---|---|
committer | Bob Beck <beck@cvs.openbsd.org> | 2008-06-10 20:14:38 +0000 |
commit | b24b61b32a9fedc5de53427f16b7eb72e27e858d (patch) | |
tree | 7fb0535d861bd759c5fd3ec6d937d5aa85b4aeda /sys/isofs | |
parent | cb3bb3cecc1d0474c3e63d1cdf36ba8c39fdf873 (diff) |
Buffer cache revamp
1) remove multiple size queues, introduced as a stopgap.
2) decouple pages containing data from their mappings
3) only keep buffers mapped when they actually have to be mapped
(right now, this is when buffers are B_BUSY)
4) New functions to make a buffer busy, and release the busy flag
(buf_acquire and buf_release)
5) Move high/low water marks and statistics counters into a structure
6) Add a sysctl to retrieve buffer cache statistics
Tested in several variants and beat upon by bob and art for a year. run
accidentally on henning's nfs server for a few months...
ok deraadt@, krw@, art@ - who promises to be around to deal with any fallout
Diffstat (limited to 'sys/isofs')
-rw-r--r-- | sys/isofs/udf/udf_subr.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/isofs/udf/udf_subr.c b/sys/isofs/udf/udf_subr.c index 1c24b583be7..b81da604b1f 100644 --- a/sys/isofs/udf/udf_subr.c +++ b/sys/isofs/udf/udf_subr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: udf_subr.c,v 1.13 2007/06/08 05:35:32 deraadt Exp $ */ +/* $OpenBSD: udf_subr.c,v 1.14 2008/06/10 20:14:36 beck Exp $ */ /* * Copyright (c) 2006, Miodrag Vallat @@ -110,7 +110,7 @@ udf_disklabelspoof(dev_t dev, void (*strat)(struct buf *), */ bp->b_blkno = sector * btodb(bsize); bp->b_bcount = bsize; - bp->b_flags = B_BUSY | B_READ; + bp->b_flags |= B_READ; bp->b_resid = bp->b_blkno / lp->d_secpercyl; (*strat)(bp); @@ -130,7 +130,7 @@ udf_disklabelspoof(dev_t dev, void (*strat)(struct buf *), for (sector = mvds_start; sector < mvds_end; sector++) { bp->b_blkno = sector * btodb(bsize); bp->b_bcount = bsize; - bp->b_flags = B_BUSY | B_READ; + bp->b_flags |= B_READ; bp->b_resid = bp->b_blkno / lp->d_secpercyl; (*strat)(bp); |