linux/block
Oleg Nesterov b70c864d3c cfq: fix IOPRIO_CLASS_IDLE delays
After the fresh boot:

	ionice -c3 -p $$
	echo cfq >> /sys/block/XXX/queue/scheduler
	dd if=/dev/XXX of=/dev/null bs=512 count=1

Now dd hangs in D state and the queue is completely stalled for approximately
INITIAL_JIFFIES + CFQ_IDLE_GRACE jiffies. This is because cfq_init_queue()
forgets to initialize cfq_data->last_end_request.

(I guess this patch is not complete, overflow is still possible)

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2007-11-07 09:46:13 +01:00
..
as-iosched.c [BLOCK] Get rid of request_queue_t typedef 2007-07-24 09:28:11 +02:00
blktrace.c Convert cpu_sibling_map to be a per cpu variable 2007-10-16 09:42:50 -07:00
bsg.c bsg: mark struct file_operations const 2007-10-16 09:59:54 +02:00
cfq-iosched.c cfq: fix IOPRIO_CLASS_IDLE delays 2007-11-07 09:46:13 +01:00
compat_ioctl.c compat_ioctl: fix block device compat ioctl regression 2007-10-29 11:33:06 +01:00
deadline-iosched.c Deadline iosched: Fix batching fairness 2007-11-02 08:47:25 +01:00
elevator.c fix typo "insted" -> "instead" 2007-10-20 01:55:04 +02:00
genhd.c Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
ioctl.c compat_ioctl: move common block ioctls to compat_blkdev_ioctl 2007-10-10 09:26:00 +02:00
Kconfig Only enable BLOCK_COMPAT if COMPAT is needed 2007-10-12 17:58:36 -07:00
Kconfig.iosched update I/O sched Kconfig help texts - CFQ is now default, not AS. 2007-02-17 20:08:22 +01:00
ll_rw_blk.c Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block 2007-11-03 12:43:36 -07:00
Makefile [BLOCK] Only include the compat ioctl code if CONFIG_BLOCK is set 2007-10-12 12:50:41 +02:00
noop-iosched.c [BLOCK] Get rid of request_queue_t typedef 2007-07-24 09:28:11 +02:00
scsi_ioctl.c [BLOCK] Get rid of request_queue_t typedef 2007-07-24 09:28:11 +02:00