[PATCH RFC 0/8] nvme: Add Controller Data Queue to the nvme driver
Joel Granados
joel.granados at kernel.org
Fri Jul 18 04:33:34 PDT 2025
On Mon, Jul 14, 2025 at 03:02:31PM +0200, Christoph Hellwig wrote:
> On Mon, Jul 14, 2025 at 11:15:31AM +0200, Joel Granados wrote:
> > Motivation
> > ==========
> > The main motivation is to enable Controller Data Queues as described in
> > the 2.2 revision of the NVME base specification. This series places the
> > kernel as an intermediary between the NVME controller producing CDQ
> > entries and the user space process consuming them. It is general enough
> > to encompass different use cases that require controller initiated
> > communication delivered outside the regular I/O traffic streams (like
> > LBA tracking for example).
Thx for the feedback. Much appreciated.
>
> That's rather blurbish. The only use case for CDQs in NVMe 2.2 is
> tracking of dirty LBAs for live migration, and the live migration
Yes, that is my understanding of nvme 2.2 as well.
> feature in 2.2 is completely broken because the hyperscalers wanted
> to win a point. So for CDQs to be useful in Linux we'll need the
> proper live migration still under heavy development. With that I'd
Do you mean in the specification body or patch series in the mailing
lists?
> very much expect the kernel to manage the CDQs just like any other
> queue, and not a random user ioctl.
This is a great segue to a question: If CDQ is like any other queue,
what is the best way of handling the lack of CDQ submission queues?
Something like snooping all submissions for these CDQs and triggering a
CDQ consume on every submission?
I went with the ioctl as the faster way to get it to work; I might
explore what having it as just another queue would look like.
> So what would be the use case for a user controlled CDQ?
Do you mean a hypothetical list besides LM in NVME 2.2?
Best
--
Joel Granados
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-nvme/attachments/20250718/a9df386f/attachment.sig>
More information about the Linux-nvme
mailing list