From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B6938C433EF for ; Tue, 21 Dec 2021 08:53:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 38E2F6B0078; Tue, 21 Dec 2021 03:53:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 33D696B007B; Tue, 21 Dec 2021 03:53:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 205106B007D; Tue, 21 Dec 2021 03:53:00 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 0D5366B0078 for ; Tue, 21 Dec 2021 03:53:00 -0500 (EST) Received: from smtpin11.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 9D18B8249980 for ; Tue, 21 Dec 2021 08:52:59 +0000 (UTC) X-FDA: 78941186478.11.95C5B3E Received: from verein.lst.de (verein.lst.de [213.95.11.211]) by imf22.hostedemail.com (Postfix) with ESMTP id 9C9F3C001B for ; Tue, 21 Dec 2021 08:52:58 +0000 (UTC) Received: by verein.lst.de (Postfix, from userid 2407) id 58D8768AFE; Tue, 21 Dec 2021 09:52:56 +0100 (CET) Date: Tue, 21 Dec 2021 09:52:56 +0100 From: Christoph Hellwig To: Baoquan He Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, akpm@linux-foundation.org, corbet@lwn.net, hch@lst.de, cl@linux.com Subject: Re: [PATCH 2/2] dma-pool: allow user to disable atomic pool Message-ID: <20211221085256.GB7439@lst.de> References: <20211217090827.101938-1-bhe@redhat.com> <20211217090827.101938-3-bhe@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20211217090827.101938-3-bhe@redhat.com> User-Agent: Mutt/1.5.17 (2007-11-01) X-Rspamd-Queue-Id: 9C9F3C001B X-Stat-Signature: qxm1qxc4863j9dx5hoqi97q3s35s9bb5 Authentication-Results: imf22.hostedemail.com; dkim=none; spf=none (imf22.hostedemail.com: domain of hch@lst.de has no SPF policy when checking 213.95.11.211) smtp.mailfrom=hch@lst.de; dmarc=none X-Rspamd-Server: rspam10 X-HE-Tag: 1640076778-436380 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri, Dec 17, 2021 at 05:08:27PM +0800, Baoquan He wrote: > In the current code, three atomic memory pools are always created, > atomic_pool_kernel|dma|dma32, even though 'coherent_pool=0' is > specified in kernel command line. In fact, atomic pool is only > necessary when CONFIG_DMA_DIRECT_REMAP=y or mem_encrypt_active=y > which are needed on few ARCHes. > > So change code to allow user to disable atomic pool by specifying > 'coherent_pool=0'. > > Meanwhile, update the relevant document in kernel-parameter.txt. > > Signed-off-by: Baoquan He > --- > Documentation/admin-guide/kernel-parameters.txt | 3 ++- > kernel/dma/pool.c | 7 +++++-- > 2 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt > index ec4d25e854a8..d7015309614b 100644 > --- a/Documentation/admin-guide/kernel-parameters.txt > +++ b/Documentation/admin-guide/kernel-parameters.txt > @@ -664,7 +664,8 @@ > > coherent_pool=nn[KMG] [ARM,KNL] > Sets the size of memory pool for coherent, atomic dma > - allocations. Otherwise the default size will be scaled > + allocations. A value of 0 disables the three atomic > + memory pool. Otherwise the default size will be scaled > with memory capacity, while clamped between 128K and > 1 << (PAGE_SHIFT + MAX_ORDER-1). > > diff --git a/kernel/dma/pool.c b/kernel/dma/pool.c > index 5f84e6cdb78e..5a85804b5beb 100644 > --- a/kernel/dma/pool.c > +++ b/kernel/dma/pool.c > @@ -21,7 +21,7 @@ static struct gen_pool *atomic_pool_kernel __ro_after_init; > static unsigned long pool_size_kernel; > > /* Size can be defined by the coherent_pool command line */ > -static size_t atomic_pool_size; > +static unsigned long atomic_pool_size = -1; Using UINT_MAX instead of -1 here and below would probably be more descriptive. Otherwise looks good: Reviewed-by: Christoph Hellwig