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. But before touching much of NVMe, I'd really, really like to see an actual spec first.