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 X-Spam-Level: X-Spam-Status: No, score=-5.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 196A0C433E1 for ; Tue, 18 Aug 2020 02:24:09 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id AD990206DA for ; Tue, 18 Aug 2020 02:24:08 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="XpjxJ2bC" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AD990206DA Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id F22006B0002; Mon, 17 Aug 2020 22:24:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ED2C06B0005; Mon, 17 Aug 2020 22:24:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DE7C96B0006; Mon, 17 Aug 2020 22:24:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0189.hostedemail.com [216.40.44.189]) by kanga.kvack.org (Postfix) with ESMTP id C917E6B0002 for ; Mon, 17 Aug 2020 22:24:07 -0400 (EDT) Received: from smtpin15.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 8698D824556B for ; Tue, 18 Aug 2020 02:24:07 +0000 (UTC) X-FDA: 77162094534.15.stone21_3906b4e2701b Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin15.hostedemail.com (Postfix) with ESMTP id 05A1F1814B0C8 for ; Tue, 18 Aug 2020 02:24:07 +0000 (UTC) X-HE-Tag: stone21_3906b4e2701b X-Filterd-Recvd-Size: 9081 Received: from mailout1.samsung.com (mailout1.samsung.com [203.254.224.24]) by imf21.hostedemail.com (Postfix) with ESMTP for ; Tue, 18 Aug 2020 02:24:05 +0000 (UTC) Received: from epcas2p3.samsung.com (unknown [182.195.41.55]) by mailout1.samsung.com (KnoxPortal) with ESMTP id 20200818022402epoutp018d2eef66dbd4d14cd2b1fb1e56ac134d~sO4xmwUwi1634216342epoutp01O for ; Tue, 18 Aug 2020 02:24:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.samsung.com 20200818022402epoutp018d2eef66dbd4d14cd2b1fb1e56ac134d~sO4xmwUwi1634216342epoutp01O DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1597717442; bh=CsBesYdEmsXYISIaG2RjUDnhdZVYSBBU+baM3u+mDmE=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=XpjxJ2bCvsg6s/hS2JajgRenYJTShno/VSXf12Cm0Uo2SFNgeUnEbYqmBXvROZtjq Yv7ng8WJXsnRP+rEexQy7kmgTZJEcHNMmAaEb8A3gJCaZUWZo0yDWPffg7shoVYsvz uOHQwrz7zQghFv+4N35+6swq1fLqHdZtcBYLJKxA= Received: from epsnrtp3.localdomain (unknown [182.195.42.164]) by epcas2p4.samsung.com (KnoxPortal) with ESMTP id 20200818022401epcas2p4755087fd6a70cc7aaccfecb037609aab~sO4xKnr_q1380113801epcas2p4Q; Tue, 18 Aug 2020 02:24:01 +0000 (GMT) Received: from epsmges2p2.samsung.com (unknown [182.195.40.184]) by epsnrtp3.localdomain (Postfix) with ESMTP id 4BVvqM1C1fzMqYkt; Tue, 18 Aug 2020 02:23:59 +0000 (GMT) Received: from epcas2p4.samsung.com ( [182.195.41.56]) by epsmges2p2.samsung.com (Symantec Messaging Gateway) with SMTP id FA.CB.18874.EBB3B3F5; Tue, 18 Aug 2020 11:23:58 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas2p2.samsung.com (KnoxPortal) with ESMTPA id 20200818022357epcas2p277f29ec9fba0020f93dea8103976f2c8~sO4tuLLrd1759817598epcas2p2E; Tue, 18 Aug 2020 02:23:57 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20200818022357epsmtrp23a2931c95ed6a164a18fea2d7d86c871~sO4tthGYR2639826398epsmtrp2Z; Tue, 18 Aug 2020 02:23:57 +0000 (GMT) X-AuditID: b6c32a46-519ff700000049ba-cf-5f3b3bbe092a Received: from epsmtip2.samsung.com ( [182.195.34.31]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 4D.E6.08382.DBB3B3F5; Tue, 18 Aug 2020 11:23:57 +0900 (KST) Received: from KEI (unknown [12.36.155.227]) by epsmtip2.samsung.com (KnoxPortal) with ESMTPA id 20200818022357epsmtip23a6d4b5fb65a64a30066b36d5c8ed2f6~sO4tkR8AH1415614156epsmtip2c; Tue, 18 Aug 2020 02:23:57 +0000 (GMT) Date: Tue, 18 Aug 2020 11:16:28 +0900 From: Cho KyongHo To: Minchan Kim Cc: Matthew Wilcox , Andrew Morton , linux-mm , Joonsoo Kim , Vlastimil Babka , John Dias , Suren Baghdasaryan Subject: Re: [RFC 0/7] Support high-order page bulk allocation Message-ID: <20200818021628.GB171937@KEI> MIME-Version: 1.0 In-Reply-To: <20200814205558.GA2814941@google.com> User-Agent: Mutt/1.5.24 (2015-08-30) X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrMJsWRmVeSWpSXmKPExsWy7bCmhe4+a+t4g/UTZS3mrF/DZrGyu5nN 4vuCR8wW99b8Z7VY9vU9u8XkSwvYLGY39jFa/P4xh82Bw2PBplKPzSu0PDat6mTz2PRpErtH 19srTB4nZvxm8Tiz4Ah7AHtUjk1GamJKapFCal5yfkpmXrqtkndwvHO8qZmBoa6hpYW5kkJe Ym6qrZKLT4CuW2YO0FFKCmWJOaVAoYDE4mIlfTubovzSklSFjPziElul1IKUnAJDwwK94sTc 4tK8dL3k/FwrQwMDI1OgyoScjLb7/AVHxSrWLT/K3MB4XbCLkZNDQsBEovPQF6YuRi4OIYEd jBIzu0+xQjifGCW2Hn4KlfnGKLGnZTtLFyMHWMuXJ0wg3UICexklPl61gKh5yCjR37SAHSTB IqAq8eBXKyOIzSagJbF67nEwW0RAReLP03+MIA3MAp1MElPmnGUGGSosYCexd6ciSA2vgKbE p3PzWSBsQYmTM5+A2ZwCRhJT1z5mBSkXBZrz6mA9yBgJgV4OiR1zDjND3OYisfBSLcRnwhKv jm9hh7ClJD6/28sGUT+dUeLd/ENsEInNjBLfdkODwlhi1rN2sDuZBTIkDn39BDVTWeLILRaI MJ9Ex+G/7BBhXomONiGIThWJnVOvscCs6tt7A8r2kJh8rIcdEjxPGSUuruxmnMAoPwvJZ7OQ bIOwdSQW7P7ENgtoBbOAtMTyfxwQpqbE+l36CxhZVzGKpRYU56anFhsVGCHH9CZGcGrVctvB OOXtB71DjEwcjIcYJTiYlUR4k06YxwvxpiRWVqUW5ccXleakFh9iNAVG00RmKdHkfGByzyuJ NzQ1MjMzsDS1MDUzslAS561XvBAnJJCeWJKanZpakFoE08fEwSnVwHTF4nTu87LNjitS9b+c t8yRcgzvzWbVOcThs9phZvjVmybt6lmqm5fU3kg5s+3Q0uMRbe9iWwPEo7bvPslYpRr88dfW BWc2Wm+8tGZbrKHY2hkPDoXXnlc2fW2advqNyZKIhSqhEhL/WedcMb4+e53bf83Yz+yuvEYJ cQWtj3/7OzlESl7uUT8k8EHt5Ru245HMW4pj9eqEYhe/zt8QKMj8p/Hirwx+WX5rxuM7r5+d d2P99L1n1qb/llh+3UWpd2Ppgvh7cvNZMpbdCDvj4/B0jZOpaeXOh0tYvixaVcQwwWfmrbCn BrX5E16+8D1nViHbk+vks73hf9jdv68uabTs48vUeNqzJKBxehFrjaMSS3FGoqEWc1FxIgAQ 19qtNgQAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrOLMWRmVeSWpSXmKPExsWy7bCSvO5ea+t4gzlL9C3mrF/DZrGyu5nN 4vuCR8wW99b8Z7VY9vU9u8XkSwvYLGY39jFa/P4xh82Bw2PBplKPzSu0PDat6mTz2PRpErtH 19srTB4nZvxm8Tiz4Ah7AHsUl01Kak5mWWqRvl0CV8burdoFrSIVO9dtZWtg3MDfxcjBISFg IvHlCVMXIxeHkMBuRokJ824DOZxAcSmJed1roWxhifstR1ghiu4zSnTc2sgMkmARUJV48KuV EcRmE9CSWD33OJgtIqAi8efpPzCbWaCbSeLsfXuQZcICdhJ7dyqChHkFNCU+nZvPAmILCTxl lJi0MR8iLihxcuYTFohWLYkb/14ygbQyC0hLLP/HARLmFDCSmLr2MStIWBRo06uD9RMYBWch aZ6FpHkWQvMCRuZVjJKpBcW56bnFhgWGeanlesWJucWleel6yfm5mxjBcaGluYNx+6oPeocY mTgYDzFKcDArifAmnTCPF+JNSaysSi3Kjy8qzUktPsQozcGiJM57o3BhnJBAemJJanZqakFq EUyWiYNTqoFp39OEh68vvLTe9OK35NXoOeo+ERfSjk258Fu1rrJqrZZDyL2Djm171qnyhZ/2 Yl6oy+HRcKXn8MwFHf9bl9rF3C88/rBvodB6EdmTJ4/Hfj2aIfxt0iHOTKcZSzaHi8hJVDvp zpqtzfbO0zY3cWU9m/0lqTef6j73R11p4r9YxjLVYG5SzXR7Hcvj/cY6O98v5s0VFP7Kp/d3 xqmv09QrTx+5dk7q4ZqJax+9uHGr2G+CkrrwW+dL51wirp9kCzK7evDsSofLt7fZ19ZWxStZ bzU8KtumNDtqzyzPlT2zLS7FFPV7Vq7ufLpoXd5Tj+8O2eKuM4+FtblcWJkgWLZ8kaZOktLu jrd8z90tmRtUlFiKMxINtZiLihMBAmfiJvoCAAA= X-CMS-MailID: 20200818022357epcas2p277f29ec9fba0020f93dea8103976f2c8 X-Msg-Generator: CA Content-Type: multipart/mixed; boundary="----gThi6U1shImpkjjsILNGKqES4Uk8qk2Gal-jc_NwJ8V0sbs9=_24bc0_" X-Sendblock-Type: AUTO_CONFIDENTIAL CMS-TYPE: 102P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20200814205604epcas2p33600c4c687dfd1ec211807c95cdcf762 References: <20200814173131.2803002-1-minchan@kernel.org> <20200814174020.GX17456@casper.infradead.org> <20200814205558.GA2814941@google.com> X-Rspamd-Queue-Id: 05A1F1814B0C8 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam04 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: ------gThi6U1shImpkjjsILNGKqES4Uk8qk2Gal-jc_NwJ8V0sbs9=_24bc0_ Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline On Fri, Aug 14, 2020 at 01:55:58PM -0700, Minchan Kim wrote: > On Fri, Aug 14, 2020 at 06:40:20PM +0100, Matthew Wilcox wrote: > > On Fri, Aug 14, 2020 at 10:31:24AM -0700, Minchan Kim wrote: > > > There is a need for special HW to require bulk allocation of > > > high-order pages. For example, 4800 * order-4 pages. > > > > ... but you haven't shown that user. > > Kyoungho is working on it. > I am not sure how much he could share but hopefully, he could > show some. Kyoungho? We are preparing the following patch to dma-buf heap that uses alloc_pages_bulk(). The heap collects pages of identical size from alloc_pages_bulk() for the H/Ws that have restrictions in memory alignments due to the performance or the functionality. > > > > > int alloc_pages_bulk(unsigned long start, unsigned long end, > > > unsigned int migratetype, gfp_t gfp_mask, > > > unsigned int order, unsigned int nr_elem, > > > struct page **pages); > > > > > > It will investigate the [start, end) and migrate movable pages > > > out there by best effort(by upcoming patches) to make requested > > > order's free pages. > > > > > > The allocated pages will be returned using pages parameter. > > > Return value represents how many of requested order pages we got. > > > It could be less than user requested by nr_elem. > > > > I don't understand why a user would need to know the PFNs to allocate > > between. This seems like something that's usually specified by GFP_DMA32 > > or similar. > > I wanted to let the API wok from CMA area and/or movable zone where are > always fulled with migrable pages. > If we carry on only zone flags without pfn range, it couldn't fulfil cma > area cases. > Other reason is if user see fewer pages returned, he could try subsequent > ranges to get remained ones. > > > Is it useful to return fewer pages than requested? > > It's useful because user could ask further than what they need or retry. I agree with Minchan. A CMA area is private to a device or a device driver except the shared DMA pool. Drivers first try collecting large order pages from its private CMA area. If the number of pages returned by alloc_pages_bulk() is less than nr_elem, then the driver can retry with fewer nr_elem after a while with expecting pinned pages or pages under races in the CMA area are resolved. The driver may further try call alloc_pages_bulk() on another CMA area which is available to the driver or the movable zone. ------gThi6U1shImpkjjsILNGKqES4Uk8qk2Gal-jc_NwJ8V0sbs9=_24bc0_ Content-Type: text/plain; charset="utf-8" ------gThi6U1shImpkjjsILNGKqES4Uk8qk2Gal-jc_NwJ8V0sbs9=_24bc0_--