patch: blk-12

Jens Axboe
2000-12-09T18:06:50Z

Hi,

I've released what will probably be the last blk-xx patch for 2.4, at
least as far as features go. In fact, blk-12 is just minor tweaks and
fixes over the previous version. Highlight of changes:

o Merge elevator merge and insertion scan. This saves an entire linear
queue scan when we can't merge a new buffer into the existing list.

o More fair merge accounting, actually take request size into account
when merging.

o Cleanup leftover cruft from previous elevator (nr_segments etc)

o Request queue aging.

o Batch freeing of requests. Stock kernels have very bad behaviour
under I/O load (load here meaning that the request list is empty,
doesn't require much effort...), because as soon as a request is
completed and put back on the freelist, a read/write will grab it
and the queue will be unplugged again. This effectively disables
elevator merging efforts completely. Note -- even though wakeups
of wait_for_request are now not a 1-1 mapping, wake-one semantics
are maintained.

o Fix sg indeterminate request completion time, due to scsi_insert_*
not providing guarentee of immediate queue run.

o Fix off by one ide-dma setup error

o Bump max request size from 64KB to 1MB, let low level drivers set
their own limits (eg IDE has 128KB hw limit). No need to limit
nice SCSI hardware, since during the data phase is where we get
full throttle.

o Remove silly s/390 double request get error

It's against 2.4.0-test12-pre7, and can be found here:

*.kernel.org/pub/linux/kernel/axboe/patches/2.4.0-test12-pre7/blk-12.bz2

--
* Jens Axboe <axboe@suse.de>
* SuSE Labs
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/