Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Jason R Thorpe <thorpej@netbsd.org>
List: source-changes
Date: 01/21/2000 15:20:52
Module Name: syssrc
Committed By: thorpej
Date: Fri Jan 21 23:20:52 UTC 2000
Modified Files:
syssrc/sys/kern: subr_disk.c
syssrc/sys/sys: buf.h
Log Message:
- Add a B_ORDERED flag to communicate to drivers that an I/O request should
be issued/completed in order; that is, provide a barrier for I/O queues.
- Change the buffer driver queue links to a TAILQ, rather than using
a home-grown equivalent. Provide BUFQ_*() macros to manipulate buffer
queues; these deal with the barrier provided by B_ORDERED.
- Update disksort() accordingly, and provide 3 versions:
- disksort_cylinder(): historical disksort(), which keys on
b_cylinder (and b_blkno for the case when b_cylinder matches).
- disksort_blkno(): sorts only on b_blkno. Essentially the
same as disksort_cylinder(), but with fewer comparisons.
- disksort_tail(): requests are simply inserted into the queue
at the tail. This is provided as an option so that drivers
can simply have a pointer to the appropriate sort function.
Note that disksort() now pays attention to B_ORDERED.
To generate a diff of this commit:
cvs rdiff -r1.25 -r1.26 syssrc/sys/kern/subr_disk.c
cvs rdiff -r1.35 -r1.36 syssrc/sys/sys/buf.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.