Re: [GIT PULL 24/25] lightnvm: pblk: add iostat support

From: Matias BjÃrling
Date: Mon Jan 08 2018 - 08:31:53 EST


On Mon, Jan 8, 2018 at 1:53 PM, Javier GonzÃlez <jg@xxxxxxxxxxx> wrote:
>> On 8 Jan 2018, at 12.54, Christoph Hellwig <hch@xxxxxxxxxxxxx> 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@xxxxxxxxxxxx>
>>>>>
>>>>> 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

The 2.0 spec is still under development. No reason to redo the I/O
stacks until it is final.