On 12/03/2015 10:06 AM, Christoph Hellwig wrote:
On Thu, Dec 03, 2015 at 09:39:01AM +0100, Matias Bjørling wrote:
A little crazy yes. The reason is that the NVMe admin queues and NVMe user
queues are driven by different request queues. Previously this was patched
up with having two queues in the lightnvm core. One for admin and another
for user. But was later merged into a single queue.
Why? If you look at the current structure we have the admin queue
which is always allocated by the Low level driver, although it could and
should move to the core eventually. And then we have Command set specific
request_queues for the I/O queues. One per NS for NVM currenly, either
one per NS or one globally for LightNVM, and in Fabrics I currently
have another magic one :) Due to the tagset pointer in struct nvme_ctrl
that's really easy to handle.
The identify geometry command and bad block commands are part of the
admin command set. Surely, as all these take a ns id, they can be moved
and be accessed naturally through the user queues.
Let me send out a revert for that patch.
--
To unsubscribe from this list: send the line "unsubscribe linux-next" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html