Files
ack-tegra/include/linux
Shaohua Li 55c022bbdd block: avoid building too big plug list
When I test fio script with big I/O depth, I found the total throughput drops
compared to some relative small I/O depth. The reason is the thread accumulates
big requests in its plug list and causes some delays (surely this depends
on CPU speed).
I thought we'd better have a threshold for requests. When a threshold reaches,
this means there is no request merge and queue lock contention isn't severe
when pushing per-task requests to queue, so the main advantages of blk plug
don't exist. We can force a plug list flush in this case.
With this, my test throughput actually increases and almost equals to small
I/O depth. Another side effect is irq off time decreases in blk_flush_plug_list()
for big I/O depth.
The BLK_MAX_REQUEST_COUNT is choosen arbitarily, but 16 is efficiently to
reduce lock contention to me. But I'm open here, 32 is ok in my test too.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
2011-07-08 08:19:20 +02:00
..
2011-05-04 14:08:36 -07:00
2011-06-01 11:36:49 +01:00
2011-05-28 17:41:46 +02:00
2011-05-26 17:12:34 -07:00
2011-05-26 17:12:34 -07:00
2011-05-19 15:59:38 -07:00
2011-05-23 10:47:06 -05:00
2011-05-29 13:03:09 +01:00
2011-05-24 10:21:29 +02:00
2011-05-24 10:21:29 +02:00
2011-06-09 15:05:48 -07:00
2011-05-23 13:59:54 +02:00
2011-05-26 12:03:50 -07:00
2011-05-25 20:43:32 +02:00
2011-05-08 16:41:45 -07:00
2011-05-26 17:12:37 -07:00
2011-05-22 08:47:53 -04:00
2011-05-19 20:50:53 -04:00
2011-05-24 14:33:35 +02:00
2011-04-25 18:14:10 -07:00
2011-05-29 11:32:28 -07:00
2011-05-26 17:12:36 -07:00
2011-05-19 16:55:27 +09:30
2011-05-20 11:46:11 -07:00
2011-05-26 17:12:34 -07:00
2011-05-26 17:12:37 -07:00
2011-05-24 12:10:51 +02:00
2011-05-13 16:31:00 -07:00
2011-05-05 23:16:59 -07:00
2011-05-25 08:39:19 -07:00
2011-05-05 11:10:14 -07:00
2011-06-15 20:03:59 -07:00
2011-06-15 20:03:59 -07:00
2011-06-07 09:05:42 -07:00
2011-05-30 11:14:16 +09:30