<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/include/linux/blk-mq.h, branch linux-3.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-3.17.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-3.17.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2014-08-15T18:38:41Z</updated>
<entry>
<title>blk-mq: get rid of unused BLK_MQ_F_SHOULD_SORT flag</title>
<updated>2014-08-15T18:38:41Z</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@fb.com</email>
</author>
<published>2014-08-15T18:38:41Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=8a58d1f1f373238cb0d6d7f8d3dd723aa164b8ac'/>
<id>urn:sha1:8a58d1f1f373238cb0d6d7f8d3dd723aa164b8ac</id>
<content type='text'>
We used to use this for determining whether to sort the dispatch list,
but it's unused now.

Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>blk-mq: bitmap tag: fix races on shared ::wake_index fields</title>
<updated>2014-06-18T05:12:35Z</updated>
<author>
<name>Alexander Gordeev</name>
<email>agordeev@redhat.com</email>
</author>
<published>2014-06-18T05:12:35Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=8537b12034cf1fd3fab3da2c859d71f76846fae9'/>
<id>urn:sha1:8537b12034cf1fd3fab3da2c859d71f76846fae9</id>
<content type='text'>
Fix racy updates of shared blk_mq_bitmap_tags::wake_index
and blk_mq_hw_ctx::wake_index fields.

Cc: Ming Lei &lt;tom.leiming@gmail.com&gt;
Signed-off-by: Alexander Gordeev &lt;agordeev@redhat.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>blk-mq: bump max tag depth to 10K tags</title>
<updated>2014-06-06T14:04:46Z</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@fb.com</email>
</author>
<published>2014-06-05T21:21:56Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a4391c6465d9c978fd4bded12e34bdde3f5458f0'/>
<id>urn:sha1:a4391c6465d9c978fd4bded12e34bdde3f5458f0</id>
<content type='text'>
For some scsi-mq cases, the tag map can be huge. So increase the
max number of tags we support.

Additionally, don't fail with EINVAL if a user requests too many
tags. Warn that the tag depth has been adjusted down, and store
the new value inside the tag_set passed in.

Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>blk-mq: let blk_mq_tag_to_rq() take blk_mq_tags as the main parameter</title>
<updated>2014-06-04T16:23:49Z</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@fb.com</email>
</author>
<published>2014-06-04T16:23:49Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0e62f51f8753b048f391ee2d7f2af1f7297b0be5'/>
<id>urn:sha1:0e62f51f8753b048f391ee2d7f2af1f7297b0be5</id>
<content type='text'>
We currently pass in the hardware queue, and get the tags from there.
But from scsi-mq, with a shared tag space, it's a lot more convenient
to pass in the blk_mq_tags instead as the hardware queue isn't always
directly available. So instead of having to re-map to a given
hardware queue from rq-&gt;mq_ctx, just pass in the tags structure.

Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>blk-mq: make the sysfs mq/ layout reflect current mappings</title>
<updated>2014-05-30T14:25:36Z</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@fb.com</email>
</author>
<published>2014-05-30T14:25:36Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=67aec14ce87fe25bdfff7dbf468556333df11c4e'/>
<id>urn:sha1:67aec14ce87fe25bdfff7dbf468556333df11c4e</id>
<content type='text'>
Currently blk-mq registers all the hardware queues in sysfs,
regardless of whether it uses them (e.g. they have CPU mappings)
or not. The unused hardware queues lack the cpux/ directories,
and the other sysfs entries (like active, pending, etc) are all
zeroes.

Change this so that sysfs correctly reflects the current mappings
of the hardware queues.

Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>blk-mq: blk_mq_tag_to_rq should handle flush request</title>
<updated>2014-05-30T14:06:42Z</updated>
<author>
<name>Shaohua Li</name>
<email>shli@kernel.org</email>
</author>
<published>2014-05-30T14:06:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2230237500821aedfcf2bba2a79d9cbca389233c'/>
<id>urn:sha1:2230237500821aedfcf2bba2a79d9cbca389233c</id>
<content type='text'>
flush request is special, which borrows the tag from the parent
request. Hence blk_mq_tag_to_rq needs special handling to return
the flush request from the tag.

Signed-off-by: Shaohua Li &lt;shli@fusionio.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>block: add queue flag for disabling SG merging</title>
<updated>2014-05-29T15:53:32Z</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@fb.com</email>
</author>
<published>2014-05-29T15:53:32Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=05f1dd5315217398fc8d122bdee80f96a9f21274'/>
<id>urn:sha1:05f1dd5315217398fc8d122bdee80f96a9f21274</id>
<content type='text'>
If devices are not SG starved, we waste a lot of time potentially
collapsing SG segments. Enough that 1.5% of the CPU time goes
to this, at only 400K IOPS. Add a queue flag, QUEUE_FLAG_NO_SG_MERGE,
which just returns the number of vectors in a bio instead of looping
over all segments and checking for collapsible ones.

Add a BLK_MQ_F_SG_MERGE flag so that drivers can opt-in on the sg
merging, if they so desire.

Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>blk-mq: remove alloc_hctx and free_hctx methods</title>
<updated>2014-05-28T16:18:31Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2014-05-28T16:11:06Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=cdef54dd85ad66e77262ea57796a3e81683dd5d6'/>
<id>urn:sha1:cdef54dd85ad66e77262ea57796a3e81683dd5d6</id>
<content type='text'>
There is no need for drivers to control hardware context allocation
now that we do the context to node mapping in common code.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>blk-mq: merge blk_mq_alloc_reserved_request into blk_mq_alloc_request</title>
<updated>2014-05-28T15:49:19Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2014-05-27T18:59:46Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4ce01dd1a07d9cf3eaf44fbf4ea9a61b11badccc'/>
<id>urn:sha1:4ce01dd1a07d9cf3eaf44fbf4ea9a61b11badccc</id>
<content type='text'>
Instead of having two almost identical copies of the same code just let
the callers pass in the reserved flag directly.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>blk-mq: add helper to insert requests from irq context</title>
<updated>2014-05-28T14:08:02Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2014-05-28T14:08:02Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6fca6a611c27f1f0d90fbe1cc3c229dbf8c09e48'/>
<id>urn:sha1:6fca6a611c27f1f0d90fbe1cc3c229dbf8c09e48</id>
<content type='text'>
Both the cache flush state machine and the SCSI midlayer want to submit
requests from irq context, and the current per-request requeue_work
unfortunately causes corruption due to sharing with the csd field for
flushes.  Replace them with a per-request_queue list of requests to
be requeued.

Based on an earlier test by Ming Lei.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reported-by: Ming Lei &lt;tom.leiming@gmail.com&gt;
Tested-by: Ming Lei &lt;tom.leiming@gmail.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
</feed>
