summaryrefslogtreecommitdiff
path: root/block/blk-mq.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2014-04-25 13:32:53 +0400
committerJens Axboe <axboe@fb.com>2014-04-25 18:24:07 +0400
commit38535201633077cbaf8b32886b5e3005b36c9024 (patch)
treead94c4a3d3d7e1b47f2721ac36ab1698349e208d /block/blk-mq.h
parent87ee7b112193bd081ba1a171fa5f6f39c429ef56 (diff)
downloadlinux-38535201633077cbaf8b32886b5e3005b36c9024.tar.xz
blk-mq: respect rq_affinity
The blk-mq code is using it's own version of the I/O completion affinity tunables, which causes a few issues: - the rq_affinity sysfs file doesn't work for blk-mq devices, even if it still is present, thus breaking existing tuning setups. - the rq_affinity = 1 mode, which is the defauly for legacy request based drivers isn't implemented at all. - blk-mq drivers don't implement any completion affinity with the default flag settings. This patches removes the blk-mq ipi_redirect flag and sysfs file, as well as the internal BLK_MQ_F_SHOULD_IPI flag and replaces it with code that respects the queue-wide rq_affinity flags and also implements the rq_affinity = 1 mode. This means I/O completion affinity can now only be tuned block-queue wide instead of per context, which seems more sensible to me anyway. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block/blk-mq.h')
-rw-r--r--block/blk-mq.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/block/blk-mq.h b/block/blk-mq.h
index b41a784de50d..1ae364ceaf8b 100644
--- a/block/blk-mq.h
+++ b/block/blk-mq.h
@@ -11,7 +11,6 @@ struct blk_mq_ctx {
unsigned int cpu;
unsigned int index_hw;
- unsigned int ipi_redirect;
/* incremented at dispatch time */
unsigned long rq_dispatched[2];