[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <EC97E53B-ECF3-4EB6-B92A-3950EEFF8580@lightnvm.io>
Date: Mon, 8 Jan 2018 13:53:11 +0100
From: Javier González <jg@...htnvm.io>
To: Christoph Hellwig <hch@...radead.org>
Cc: Matias Bjørling <m@...rling.me>,
Jens Axboe <axboe@...nel.dk>, linux-block@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [GIT PULL 24/25] lightnvm: pblk: add iostat support
> On 8 Jan 2018, at 12.54, Christoph Hellwig <hch@...radead.org> wrote:
>
> On Fri, Jan 05, 2018 at 07:33:36PM +0100, Matias Bjørling wrote:
>> On 01/05/2018 04:42 PM, Jens Axboe wrote:
>>> On Fri, Jan 05 2018, Matias Bjørling wrote:
>>>> From: Javier González <javier@...xlabs.com>
>>>>
>>>> Since pblk registers its own block device, the iostat accounting is
>>>> not automatically done for us. Therefore, add the necessary
>>>> accounting logic to satisfy the iostat interface.
>>>
>>> Ignorant question - why is it a raw block device, not using blk-mq?
>>
>> The current flow is using the raw block device, together with the blk-mq
>> nvme device driver. A bio is sent down to the nvme_nvm_submit_io() path in
>> the /drivers/nvme/host/lightnvm.c file. From there it attaches the to NVMe
>> blk-mq implementation.
>>
>> Is there a better way to do it?
>
> I suspect the right way to do things is to split NVMe for different
> I/O command sets, and make this an I/O command set.
This makes sense. This was actually how I implemented it to start with,
but I changed it to be less intrusive on the nvme path. Let's revert the
patch and we can add it back when we push the 2.0 patches.
> But before touching much of NVMe, I'd really, really like to see an
> actual spec first.
The 2.0 spec. is open and is available here [1]. I thought you had
looked into it already... Anyway, feedback is more than welcome.
[1] https://docs.google.com/document/d/1kedBY_1-hfkAlqT4EdwY6gz-6UOZbn7kIjWpmBLPNj0
Javier
Powered by blists - more mailing lists