From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755378AbcBWUph (ORCPT ); Tue, 23 Feb 2016 15:45:37 -0500 Received: from atrey.karlin.mff.cuni.cz ([195.113.26.193]:51597 "EHLO atrey.karlin.mff.cuni.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755313AbcBWUpe (ORCPT ); Tue, 23 Feb 2016 15:45:34 -0500 Date: Tue, 23 Feb 2016 21:45:32 +0100 From: Pavel Machek To: Kent Overstreet Cc: Ming Lei , Ming Lin-SSI , Mike Snitzer , kernel list , "axboe@fb.com" , "hch@lst.de" , "neilb@suse.de" , "martin.petersen@oracle.com" , "dpark@posteo.net" , "dm-devel@redhat.com" , "agk@redhat.com" , "jkosina@suse.cz" , "geoff@infradead.org" , "jim@jtan.com" , "pjk1939@linux.vnet.ibm.com" , "minchan@kernel.org" , "ngupta@vflare.org" , "oleg.drokin@intel.com" , "andreas.dilger@intel.com" Subject: Re: 4.4-final: 28 bioset threads on small notebook Message-ID: <20160223204532.GD16961@amd> References: <20160220174035.GA16459@amd> <20160220184258.GA3753@amd> <20160220195136.GA27149@redhat.com> <20160220200432.GB22120@amd> <20160220203856.GB27149@redhat.com> <20160220205519.GA14108@amd> <20160221041540.GA24735@kmo-pixel> <3A47B4705F6BE24CBB43C61AA73286211B3AA6A9@SSIEXCH-MB3.ssi.samsung.com> <20160222225818.GA2675@kmo-pixel> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160222225818.GA2675@kmo-pixel> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon 2016-02-22 13:58:18, Kent Overstreet wrote: > On Sun, Feb 21, 2016 at 05:40:59PM +0800, Ming Lei wrote: > > On Sun, Feb 21, 2016 at 2:43 PM, Ming Lin-SSI wrote: > > >>-----Original Message----- > > > > > > So it's almost already "per request_queue" > > > > Yes, that is because of the following line: > > > > q->bio_split = bioset_create(BIO_POOL_SIZE, 0); > > > > in blk_alloc_queue_node(). > > > > Looks like this bio_set doesn't need to be per-request_queue, and > > now it is only used for fast-cloning bio for splitting, and one global > > split bio_set should be enough. > > It does have to be per request queue for stacking block devices (which includes > loopback). Could we only allocate request queues for devices that are not even opened? I have these in my system: loop0 loop2 loop4 loop6 md0 nbd1 nbd11 nbd13 nbd15 nbd3 nbd5 nbd7 nbd9 sda1 sda3 loop1 loop3 loop5 loop7 nbd0 nbd10 nbd12 nbd14 nbd2 nbd4 nbd6 nbd8 sda sda2 sda4 ...but nbd is never used, loop1+ is never used, and loop0 is only used once in a blue moon. Each process takes 8K+... Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html