[PATCH v2] nvme: enable FDP support
Kanchan Joshi
joshi.k at samsung.com
Mon Jun 10 03:38:19 PDT 2024
On 6/8/2024 10:47 AM, Christoph Hellwig wrote:
> Nacked-by: Christoph Hellwig<hch at lst.de>
>
> This is a really overcomplicated way that does not in any way fit the
> FDP use case (which is also rather overcomplicated).
>
> If you want to pass on life time information to a NVMe device please
> work with the NVMe technical working group to add the equivalent of
> the life time hints added to SCSI as part of the
> constrained streams in SBC. It would be implementable in the Linux
> nvme driver in a few lines of code, similaly trivially in the device
> and actually makes things work.
I disagree. Bart's patch using "constrained streams in SBC" adds 104
lines [*]. This patch adds 90 lines.
Both do the conceptually similar two steps equally trivially:
Step #1. Query protocol specific hints.
- sd_read_io_hints (scsi): sends one/two commands to the device
- nvme_fetch_fdp_plids (nvme): sends one command to the device
Step #2. map write-hints to protocol specific hints.
- sd_group_number (scsi)
- nvme_assign_placement_id (nvme)
So current plumbing is nearly identical and as simple as SCSI.
And TP 4146 author list shows 10 companies. Perhaps good enough for
diverse opinions on how to go about things before settling down.
We have used passthrough interface for FDP wherever possible. But there
are users asking file/block interface for what has been standardized. We
end up sharing this patch as a off-tree solution (which is a pity).
And this was discussed at LSFMM too; There was no push back to move forward.
[*]
https://lore.kernel.org/linux-scsi/20240222214508.1630719-4-bvanassche@acm.org/
More information about the Linux-nvme
mailing list