linux/block
Boaz Harrosh 05378940ca bsg: add support for tail queuing
Currently inherited from sg.c bsg will submit asynchronous request
 at the head-of-the-queue, (using "at_head" set in the call to
 blk_execute_rq_nowait()). This is bad in situation where the queues
 are full, requests will execute out of order, and can cause
 starvation of the first submitted requests.

The sg_io_v4->flags member is used and a bit is allocated to denote the
Q_AT_TAIL. Zero is to queue at_head as before, to be compatible with old
code at the write/read path. SG_IO code path behavior was changed so to
be the same as write/read behavior. SG_IO was very rarely used and breaking
compatibility with it is OK at this stage.

sg_io_hdr at sg.h also has a flags member and uses 3 bits from the first
nibble and one bit from the last nibble. Even though none of these bits
are supported by bsg, The second nibble is allocated for use by bsg. Just
in case.

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
CC: Douglas Gilbert <dgilbert@interlog.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-03-24 12:35:17 +01:00
..
as-iosched.c
blk-barrier.c block: Fix documentation for blkdev_issue_flush() 2009-01-30 12:34:37 +01:00
blk-core.c block: get rid of unused blkdev_free_rq() define 2009-03-24 12:35:16 +01:00
blk-exec.c
blk-integrity.c block: Allow empty integrity profile 2009-01-30 12:34:36 +01:00
blk-ioc.c
blk-map.c [SCSI] block: make blk_rq_map_user take a NULL user-space buffer for WRITE 2009-01-02 11:10:35 -06:00
blk-merge.c block: fix missing bio back/front segment size setting in blk_recount_segments() 2009-03-06 08:55:24 +01:00
blk-settings.c
blk-softirq.c
blk-sysfs.c block: add sysfs file for controlling io stats accounting 2009-01-30 12:34:38 +01:00
blk-tag.c
blk-timeout.c block: fix deadlock in blk_abort_queue() for drivers that readd to timeout list 2009-02-18 10:34:16 +01:00
blk.h block: fix oops in blk_queue_io_stat() 2009-02-02 08:42:32 +01:00
blktrace.c block: fix bad definition of BIO_RW_SYNC 2009-02-18 10:32:00 +01:00
bsg.c bsg: add support for tail queuing 2009-03-24 12:35:17 +01:00
cfq-iosched.c cfq-iosched: Allow RT requests to pre-empt ongoing BE timeslice 2009-01-30 12:47:33 +01:00
cmd-filter.c
compat_ioctl.c
deadline-iosched.c
elevator.c
genhd.c block: add documentation for register_blkdev() 2009-02-26 10:45:48 +01:00
ioctl.c
Kconfig block: Add Kconfig help which notes that ext4 needs CONFIG_LBD 2009-01-06 15:16:33 -05:00
Kconfig.iosched
Makefile
noop-iosched.c
scsi_ioctl.c