Manish Regmi wrote:
Nick Piggin:
but
they look like they might be a (HZ quantised) delay coming from
block layer plugging.
Sorry i didn´t understand what you mean.
When you submit a request to an empty block device queue, it can
get "plugged" for a number of timer ticks before any IO is actually
started. This is done for efficiency reasons and is independent of
the IO scheduler used.
Use the noop IO scheduler, as well as the attached patch, and let's
see what your numbers look like.
Thanks,
Nick
--
SUSE Labs, Novell Inc.
Index: linux-2.6/block/ll_rw_blk.c
===================================================================
--- linux-2.6.orig/block/ll_rw_blk.c 2006-12-19 17:35:00.000000000 +1100
+++ linux-2.6/block/ll_rw_blk.c 2006-12-19 17:35:53.000000000 +1100
@@ -226,6 +226,8 @@ void blk_queue_make_request(request_queu
q->unplug_delay = (3 * HZ) / 1000; /* 3 milliseconds */
if (q->unplug_delay == 0)
q->unplug_delay = 1;
+ q->unplug_delay = 0;
+ q->unplug_thresh = 0;
INIT_WORK(&q->unplug_work, blk_unplug_work, q);
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]