diff options
author | mckusick <mckusick@FreeBSD.org> | 2001-12-14 10:49:15 +0000 |
---|---|---|
committer | mckusick <mckusick@FreeBSD.org> | 2001-12-14 10:49:15 +0000 |
commit | a120c6ba29c902e0b7d394baa2a39d67f890a15d (patch) | |
tree | 6a14ebfed9e1bae33e99523f8b5761f21bb689b9 | |
parent | ff31678819bc9a191419b0879924b37550ce7c2c (diff) | |
download | FreeBSD-src-a120c6ba29c902e0b7d394baa2a39d67f890a15d.zip FreeBSD-src-a120c6ba29c902e0b7d394baa2a39d67f890a15d.tar.gz |
Add disk I/O scheduling for positively niced processes.
When a positively niced process requests a disk I/O, make
it wait for its nice value of ticks before scheduling its
I/O request if there are any other processes with I/O
requests in the disk queue. For all the gory details, see
the ``Running fsck in the Background'' paper in the Usenix
BSDCon 2002 Conference Proceedings, pages 55-64.
-rw-r--r-- | sys/sys/buf.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/sys/buf.h b/sys/sys/buf.h index dbac38b..efeaec1 100644 --- a/sys/sys/buf.h +++ b/sys/sys/buf.h @@ -94,7 +94,9 @@ extern struct buf_ops buf_ops_bio; */ struct buf { /* XXX: b_io must be the first element of struct buf for now /phk */ + /* XXX: if you change this, fix BIOTOBUF macro below */ struct bio b_io; /* "Builtin" I/O request. */ +#define BIOTOBUF(biop) ((struct buf *)(biop)) #define b_bcount b_io.bio_bcount #define b_blkno b_io.bio_blkno #define b_caller1 b_io.bio_caller1 |