Messages in this thread | | | Date | Thu, 12 Nov 2015 19:29:11 +0100 | From | Matias Bjørling <> | Subject | Re: [PATCH] null_blk: Register as a LightNVM device |
| |
On 11/12/2015 05:00 PM, Jens Axboe wrote: > On 11/12/2015 08:58 AM, Christoph Hellwig wrote: >> On Thu, Nov 12, 2015 at 08:54:48AM -0700, Jens Axboe wrote: >>>> 300 lines of boilerplate for just setting up a few request_queues seem >>>> wrong, can you show the actual patch you measured? >>> >>> I just took it from Matias' last posting: >>> >>> http://marc.info/?l=linux-kernel&m=144605858228534&w=2 >> >> Well, that one has all these crazy completion methods which >> are of no use for a blk-mq driver, so it should really be >> compared without those. > > So we can cut it down a bit, it's still going to be the same boilerplate > code that null_blk has, even with just mq completions. If it ended up > rewriting null_blk to be something else entirely or full of ifdef > sprinkles, I'd agree. But for adding a hundred lines of code to be able > to test lightnvm perf, I think it's a no-brainer to just add it to > null_blk and not have a separate module. >
As it is now, I prefer it part of null_blk, as long as it basically copy the core queueing structure. If null_nvm, we will have to maintain in two places. It'll be nice to keep it in one place.
The reason I would keep null_nvm, would be to add appropriate waiting times to simulate flash. However, I've now seen three implementations that utilized lightnvm for simulations, and it still doesn't scale to +1M IOPS that we need to actually compare it to a real device.
| |