From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756932AbcBWCzx (ORCPT ); Mon, 22 Feb 2016 21:55:53 -0500 Received: from youngberry.canonical.com ([91.189.89.112]:34405 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755974AbcBWCzv (ORCPT ); Mon, 22 Feb 2016 21:55:51 -0500 MIME-Version: 1.0 In-Reply-To: <20160222225818.GA2675@kmo-pixel> References: <20151211140841.GA22873@redhat.com> <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> Date: Tue, 23 Feb 2016 10:55:48 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: 4.4-final: 28 bioset threads on small notebook From: Ming Lei To: Kent Overstreet Cc: Ming Lin-SSI , Pavel Machek , 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" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 23, 2016 at 6:58 AM, 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). In commit df2cb6daa4(block: Avoid deadlocks with bio allocation by stacking drivers), deadlock in this situation has been avoided already. Or are there other issues with global bio_set? I appreciate if you may explain it a bit if there are. Thanks, Ming Lei