From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755436AbdBQEQm (ORCPT ); Thu, 16 Feb 2017 23:16:42 -0500 Received: from mail.kernel.org ([198.145.29.136]:56254 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754684AbdBQEQk (ORCPT ); Thu, 16 Feb 2017 23:16:40 -0500 Date: Thu, 16 Feb 2017 20:16:35 -0800 From: Shaohua Li To: Ming Lei Cc: Jens Axboe , Linux Kernel Mailing List , "open list:SOFTWARE RAID (Multiple Disks) SUPPORT" , linux-block , Christoph Hellwig , NeilBrown Subject: Re: [PATCH 00/17] md: cleanup on direct access to bvec table Message-ID: <20170217041635.4hxnlqf7mh2wwtok@kernel.org> References: <1487245547-24384-1-git-send-email-tom.leiming@gmail.com> <20170216221642.sobqndndd7fbjoo7@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.6.2-neo (2016-08-21) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Feb 17, 2017 at 09:25:27AM +0800, Ming Lei wrote: > Hi Shaohua, > > On Fri, Feb 17, 2017 at 6:16 AM, Shaohua Li wrote: > > On Thu, Feb 16, 2017 at 07:45:30PM +0800, Ming Lei wrote: > >> In MD's resync I/O path, there are lots of direct access to bio's > >> bvec table. This patchset kills most of them, and the conversion > >> is quite straightforward. > > > > I don't like this approach. The MD uses a hacky way to manage pages allocated, > > this is the root of the problem. The patches add another hack way to do the > > Yes, I agree, and bio_iov_iter_get_pages() uses this kind of hacky way too > actually. > > > management. I'd like to see explict management of the pages, for example, add > > data structure in r1bio to manage the pages, then we can use existing API for > > all the stuffes we need. > > Yeah, that is definitely clean, but we have to pay the following cost: > > - allocate at least N * (128 + 4) bytes per each r1_bio/r10_bio > - N is pool_info.raid_disks for raid1, and conf->copies for raid10 > > If we are happy to introduce the cost, I can take this way in V1. It's not a big deal. The inflight bio shouldn't be big, so the r1_bio count isn't big. We don't waste much. Thanks, Shaohua