From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from zimbra13.linbit.com (zimbra.linbit.com [212.69.161.123]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by mail09.linbit.com (LINBIT Mail Daemon) with ESMTPS id ABCDB1056187 for ; Wed, 27 May 2015 10:58:16 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by zimbra13.linbit.com (Postfix) with ESMTP id A81242A0E92 for ; Wed, 27 May 2015 10:58:16 +0200 (CEST) Received: from zimbra13.linbit.com ([127.0.0.1]) by localhost (zimbra13.linbit.com [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id Mx-x0FV-Y2XR for ; Wed, 27 May 2015 10:58:16 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by zimbra13.linbit.com (Postfix) with ESMTP id 8BAB03D84CB for ; Wed, 27 May 2015 10:58:16 +0200 (CEST) Received: from zimbra13.linbit.com ([127.0.0.1]) by localhost (zimbra13.linbit.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id MmjAphTS35Le for ; Wed, 27 May 2015 10:58:16 +0200 (CEST) Received: from soda.linbit (tuerlsteher.linbit.com [86.59.100.100]) by zimbra13.linbit.com (Postfix) with ESMTPS id 590C42A0E92 for ; Wed, 27 May 2015 10:58:16 +0200 (CEST) Resent-Message-ID: <20150527085816.GI18767@soda.linbit> Date: Wed, 27 May 2015 01:40:22 +0100 From: Alasdair G Kergon To: device-mapper development Message-ID: <20150527004022.GD31182@agk-dp.fab.redhat.com> References: <1432318723-18829-1-git-send-email-mlin@kernel.org> <1432318723-18829-2-git-send-email-mlin@kernel.org> <20150526143626.GA4315@redhat.com> <20150526153414.GA31182@agk-dp.fab.redhat.com> <20150527090640.44c346e2@notabene.brown> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150527090640.44c346e2@notabene.brown> Cc: Mike Snitzer , Ming Lei , Oleg@redhat.com, Joshua Morris , Alasdair G Kergon , Lars Ellenberg , Philip Kelleher , Christoph Hellwig , Christoph Hellwig , Overstreet , Nitin Gupta , Jens Axboe , Al@redhat.com, Drokin , Viro , Dave Chinner , Ming Lin , Kent@redhat.com, Andreas Dilger , Geoff Levand , Jiri Kosina , lkml , Jim Paris , Minchan Kim , Dongsu Park , drbd-user@lists.linbit.com Subject: Re: [Drbd-dev] [dm-devel] [PATCH v4 01/11] block: make generic_make_request handle arbitrarily sized bios List-Id: "*Coordination* of development, patches, contributions -- *Questions* \(even to developers\) go to drbd-user, please." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Wed, May 27, 2015 at 09:06:40AM +1000, Neil Brown wrote: > Because we don't know what the "right" size is. And the "right" size can > change when array reconfiguration happens. In certain configurations today, device-mapper does report back a sensible maximum bio size smaller than would otherwise be used and thereby avoids retrospective splitting. (In tests, the overhead of the duplicate calculation was found to be negligible so we never restructured the code to optimise it away.) > Splitting has to happen somewhere, if only in bio_addpage where it decides to > create a new bio rather than add another page to the current one. So moving > the split to a different level of the stack shouldn't necessarily change the > performance profile. It does sometimes make a significant difference to device-mapper stacks. DM only uses it for performance reasons - it can already split bios when it needs to. I tried to remove merge_bvec_fn from DM several years ago but couldn't because of the adverse performance impact of lots of splitting activity. The overall cost of splitting ought to be less in many (but not necessarily all) cases now as a result of all these patches, so exactly where the best balance lies now needs to be reassessed empirically. It is hard to reach conclusions theoretically because of the complex interplay between the various factors at different levels. Alasdair