Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754701AbcJZHaM (ORCPT ); Wed, 26 Oct 2016 03:30:12 -0400 Received: from mail-ua0-f193.google.com ([209.85.217.193]:35493 "EHLO mail-ua0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754418AbcJZHaI (ORCPT ); Wed, 26 Oct 2016 03:30:08 -0400 MIME-Version: 1.0 In-Reply-To: References: <20161025001342.76126-1-kirill.shutemov@linux.intel.com> <20161025001342.76126-19-kirill.shutemov@linux.intel.com> <20161025072122.GA21708@infradead.org> <20161025125431.GA22787@node.shutemov.name> From: Ming Lei Date: Wed, 26 Oct 2016 15:30:05 +0800 Message-ID: Subject: Re: [PATCHv4 18/43] block: define BIO_MAX_PAGES to HPAGE_PMD_NR if huge page cache enabled To: Andreas Dilger Cc: "Kirill A. Shutemov" , Christoph Hellwig , "Kirill A. Shutemov" , "Theodore Ts'o" , Andreas Dilger , Jan Kara , Andrew Morton , Alexander Viro , Hugh Dickins , Andrea Arcangeli , Dave Hansen , Vlastimil Babka , Matthew Wilcox , Ross Zwisler , linux-ext4@vger.kernel.org, Linux FS Devel , Linux Kernel Mailing List , linux-mm , linux-block Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1620 Lines: 47 On Wed, Oct 26, 2016 at 12:13 PM, Andreas Dilger wrote: > On Oct 25, 2016, at 6:54 AM, Kirill A. Shutemov wrote: >> >> On Tue, Oct 25, 2016 at 12:21:22AM -0700, Christoph Hellwig wrote: >>> On Tue, Oct 25, 2016 at 03:13:17AM +0300, Kirill A. Shutemov wrote: >>>> We are going to do IO a huge page a time. So we need BIO_MAX_PAGES to be >>>> at least HPAGE_PMD_NR. For x86-64, it's 512 pages. >>> >>> NAK. The maximum bio size should not depend on an obscure vm config, >>> please send a standalone patch increasing the size to the block list, >>> with a much long explanation. Also you can't simply increase the size >>> of the largers pool, we'll probably need more pools instead, or maybe >>> even implement a similar chaining scheme as we do for struct >>> scatterlist. >> >> The size of required pool depends on architecture: different architectures >> has different (huge page size)/(base page size). >> >> Would it be okay if I add one more pool with size equal to HPAGE_PMD_NR, >> if it's bigger than than BIO_MAX_PAGES and huge pages are enabled? > > Why wouldn't you have all the pool sizes in between? Definitely 1MB has > been too small already for high-bandwidth IO. I wouldn't mind BIOs up to > 4MB or larger since most high-end RAID hardware does best with 4MB IOs. I am preparing for the multipage bvec support[1], and once it is ready the default 256 bvecs should be enough for normal cases. I will post them out next month for review. [1] https://github.com/ming1/linux/tree/mp-bvec-0.1-v4.9 Thanks, Ming > > Cheers, Andreas > > > > > -- Ming Lei