Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752855AbdHJM2t (ORCPT ); Thu, 10 Aug 2017 08:28:49 -0400 Received: from bombadil.infradead.org ([65.50.211.133]:44271 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752630AbdHJMLO (ORCPT ); Thu, 10 Aug 2017 08:11:14 -0400 Date: Thu, 10 Aug 2017 05:11:10 -0700 From: Christoph Hellwig To: Ming Lei Cc: Jens Axboe , Christoph Hellwig , Huang Ying , Andrew Morton , Alexander Viro , linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v3 20/49] block: introduce bio_for_each_segment_mp() Message-ID: <20170810121110.GC14607@infradead.org> References: <20170808084548.18963-1-ming.lei@redhat.com> <20170808084548.18963-21-ming.lei@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170808084548.18963-21-ming.lei@redhat.com> User-Agent: Mutt/1.8.3 (2017-05-23) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 788 Lines: 15 First: as mentioned in the previous patches I really hate the name scheme with the _sp and _mp postfixes. To be clear and understandable we should always name the versions that iterate over segments *segment* and the ones that iterate over pages *page*. To make sure we have a clean compile break for code using the old _segment name I'd suggest to move to pass the bvec_iter argument by reference, which is the right thing to do anyway. As far as the implementation goes I don't think we actually need to pass the mp argument down. Instead we always call the full-segment version of bvec_iter_len / __bvec_iter_advance and then have an inner loop that moves the fake bvecs forward inside each full-segment one - that is implement the per-page version on top of the per-segment one.