From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754080AbbKLS3Q (ORCPT ); Thu, 12 Nov 2015 13:29:16 -0500 Received: from mail-lb0-f175.google.com ([209.85.217.175]:36637 "EHLO mail-lb0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751769AbbKLS3P (ORCPT ); Thu, 12 Nov 2015 13:29:15 -0500 Message-ID: <5644DA77.3070103@bjorling.me> Date: Thu, 12 Nov 2015 19:29:11 +0100 From: =?windows-1252?Q?Matias_Bj=F8rling?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Jens Axboe , Christoph Hellwig CC: Jens Axboe , linux-block@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] null_blk: Register as a LightNVM device References: <1447236398-9421-1-git-send-email-m@bjorling.me> <20151112085327.GA28149@infradead.org> <5644B4F4.5090805@kernel.dk> <20151112155230.GA30642@infradead.org> <5644B648.6060500@fb.com> <20151112155831.GA9562@infradead.org> <5644B794.6070509@fb.com> In-Reply-To: <5644B794.6070509@fb.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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.