[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <54e7a40d-a06c-a777-7061-0503051cc6bf@broadcom.com>
Date: Mon, 19 Aug 2019 08:57:01 -0700
From: James Smart <james.smart@...adcom.com>
To: Keith Busch <kbusch@...nel.org>,
Marta Rybczynska <mrybczyn@...ray.eu>
Cc: Sagi Grimberg <sagi@...mberg.me>, Samuel Jones <sjones@...ray.eu>,
Guillaume Missonnier <gmissonnier@...ray.eu>,
linux-kernel <linux-kernel@...r.kernel.org>,
linux-nvme <linux-nvme@...ts.infradead.org>,
axboe <axboe@...com>, Christoph Hellwig <hch@....de>
Subject: Re: [PATCH v2] nvme: allow 64-bit results in passthru commands
On 8/19/2019 7:49 AM, Keith Busch wrote:
> On Mon, Aug 19, 2019 at 12:06:23AM -0700, Marta Rybczynska wrote:
>> ----- On 16 Aug, 2019, at 15:16, Christoph Hellwig hch@....de wrote:
>>> Sorry for not replying to the earlier version, and thanks for doing
>>> this work.
>>>
>>> I wonder if instead of using our own structure we'd just use
>>> a full nvme SQE for the input and CQE for that output. Even if we
>>> reserve a few fields that means we are ready for any newly used
>>> field (at least until the SQE/CQE sizes are expanded..).
>> We could do that, nvme_command and nvme_completion are already UAPI.
>> On the other hand that would mean not filling out certain fields like
>> command_id. Can do an approach like this.
> Well, we need to pass user space addresses and lengths, which isn't
> captured in struct nvme_command.
>
This is going to be fun. It's going to have to be a cooperative effort
between app and transport. There will always need to be some parts of
the SQE filled out by the transport like SGL, command type/subtype bits,
as well as dealing with buffers as Keith states. Command ID is another
of those fields.
-- james
Powered by blists - more mailing lists