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 4D39FC4345F for ; Wed, 24 Apr 2024 06:28:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 61CA46B0206; Wed, 24 Apr 2024 02:28:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5CCC36B0207; Wed, 24 Apr 2024 02:28:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 494796B0208; Wed, 24 Apr 2024 02:28:13 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 2C0C36B0206 for ; Wed, 24 Apr 2024 02:28:13 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id A912AA074C for ; Wed, 24 Apr 2024 06:28:12 +0000 (UTC) X-FDA: 82043445624.05.F6D65ED Received: from szxga05-in.huawei.com (szxga05-in.huawei.com [45.249.212.191]) by imf29.hostedemail.com (Postfix) with ESMTP id D54FD12000E for ; Wed, 24 Apr 2024 06:28:09 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=none; spf=pass (imf29.hostedemail.com: domain of wangkefeng.wang@huawei.com designates 45.249.212.191 as permitted sender) smtp.mailfrom=wangkefeng.wang@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713940090; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sYbMtBKdVHHjB9w3Mw1DDSILODW8YaqSxsfPKtc0DaU=; b=EE0KR2Zy/sKB3ElQNEPpTWmbzYNJHFURQd8Lv0CxKOc3tN265/QduJdT6jiz9o00P/A61E yupt3tktYxqvwiVIejvQT05JZ8T4bglPrN6lA1vPEkOURbRKLI+H7ZdqARAVXCKKfsIDzb 1lClyoPH2iWlUH71j6M/oKnIzZOL+nw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713940090; a=rsa-sha256; cv=none; b=HQuZv+16MF6bo6UnH8ODoVssFsz80sQNWCiYB73xcE6LEVSjowtRwoyp9hwqW9Dpaia3/r VeArxc9vLoETNqCS4XrgD2tcqiYp4CT1UY8zfciswYxAtN8Uc0FHC7n806xfGD3nHXuF4B nv2m94n+cdAsDqaN2CzAINAk8xP7avA= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=none; spf=pass (imf29.hostedemail.com: domain of wangkefeng.wang@huawei.com designates 45.249.212.191 as permitted sender) smtp.mailfrom=wangkefeng.wang@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com Received: from mail.maildlp.com (unknown [172.19.88.214]) by szxga05-in.huawei.com (SkyGuard) with ESMTP id 4VPTY36XwMz1HBhS; Wed, 24 Apr 2024 14:27:03 +0800 (CST) Received: from dggpemm100001.china.huawei.com (unknown [7.185.36.93]) by mail.maildlp.com (Postfix) with ESMTPS id 1D9811A016F; Wed, 24 Apr 2024 14:28:05 +0800 (CST) Received: from [10.174.177.243] (10.174.177.243) by dggpemm100001.china.huawei.com (7.185.36.93) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Wed, 24 Apr 2024 14:28:04 +0800 Message-ID: Date: Wed, 24 Apr 2024 14:28:03 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH 2/5] mm: shmem: add an 'order' parameter for shmem_alloc_hugefolio() Content-Language: en-US To: Baolin Wang , , CC: , , <21cnbao@gmail.com>, , , , , , References: <2014bf7370d78bc1f5600731af5bf8f569e5868b.1713755580.git.baolin.wang@linux.alibaba.com> From: Kefeng Wang In-Reply-To: <2014bf7370d78bc1f5600731af5bf8f569e5868b.1713755580.git.baolin.wang@linux.alibaba.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.174.177.243] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To dggpemm100001.china.huawei.com (7.185.36.93) X-Rspam-User: X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: D54FD12000E X-Stat-Signature: kwrbu5e5gukg4hhjg444yh5oefrak58p X-HE-Tag: 1713940089-751140 X-HE-Meta: U2FsdGVkX1/2oDIUCa+U8nbJT3rNdsuBvMHrSmK/lsf2WUqSBhj3ZA0veqVN6YV/8A8ioVF9ibAHL6rWH3TKXr5gUUZWqzj44skrjSn6gxtwiGB+TywdtTFmcHGVYyNPvBIETA6X2gDUlGg3ITiZUVHOSQz8b0RfwdqW74nDpFW3eF9G4UwiXTX6mo1cLTB0zY7ilOBthAEHDd4PHW/ew93NITSOgWu6FtdQDqSzLzVvenW299GRj5R1/OMbkqiFiF1dPhSEoJF+yoR3aTT61i9eOdLXiXgtp/Rt5HOgedCKSvjopJ3IC+XPHbYBJx699gB5yTwe/0Fb0VlMNnFne9bvEsLKyI8aiqnh8KT+xanYUvMrMkicPhsKHegUnzSOAXPNw6RZ6Xf4uG2DShkxhTwNKo29KS9EBno0+2jFyd3WooIjIsB00x0uQz3qTnzZf/puE/ePbyM/jJAV0ikU6qgQpXAxt/PdAbmb8sKhYilZ0UNZD0jwXXzIp8FhgBVjYVm7oIzE2ZsirEfrMhDIZpqnm/NlzGlI+daB1Z0FUkDYt66obmvic6BVpzhO+T8GPmOoy67Y3EFQzHr4eBX0ptRkUwQBRph5B+mbNBmJZIAbGoK3cmgrR1J0JMYi/qZPWzI/i0fG3w20v3DdaMRXT9IoCIfymOvNSNnUeqarp3birfUc051EsDPfJ0KueKQ1yNQOXXynzESl1BOVpoL1XzK7jL9UR7xt22UY5JGhxr1/jgXTjju4nlQ14rjnq53Ny9RC86xiU90Ld92Rifx34a+VEHxzHrbpLDbDTRcNZFitaJ7jfQPOQ3vkYmIXrQEVVVYDNnS6BcBWXalRMuMNiYxhIE8XXxrYiwtMOSVnahFUDBgLgT76nxfWlPwXycRn4PBC6UnsJHeouVKU/yJJ7+P0nhWNqeHy131odJT+TgAYgDlPYkD01TL6cRtXQ5YgjecTydjJAiTpv+fmLdd LkRfkENX hryiPJlLsbz6UjSvn8LvBl6h6QX667kEOpq29ijCzW+DX/YDY8xh2oH8a0EeN9xbfHqsfBeaAA+pAOshmApD4t9LmQFzt+eRf8sDtHguFL5PuRI7X9OOHvrCV1CjWfkGdbVS1eWd3Ey6gyDXQklpXyo5rvItQCHfShaWT56k+Q6Us59e2xWEnDyfyt02i4YtT0QPKWS0cv/8McneLYhHYVcG7ap1JXPVj1lKacsKH0xLl91A= 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: List-Subscribe: List-Unsubscribe: On 2024/4/22 15:02, Baolin Wang wrote: > Add a new parameter to specify the huge page order for shmem_alloc_hugefolio(), > as a preparation to supoort mTHP. > > Signed-off-by: Baolin Wang > --- > mm/shmem.c | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/mm/shmem.c b/mm/shmem.c > index fa2a0ed97507..893c88efc45f 100644 > --- a/mm/shmem.c > +++ b/mm/shmem.c > @@ -1604,14 +1604,14 @@ static gfp_t limit_gfp_mask(gfp_t huge_gfp, gfp_t limit_gfp) > } > > static struct folio *shmem_alloc_hugefolio(gfp_t gfp, > - struct shmem_inode_info *info, pgoff_t index) > + struct shmem_inode_info *info, pgoff_t index, int order) > { > struct mempolicy *mpol; > pgoff_t ilx; > struct page *page; > > - mpol = shmem_get_pgoff_policy(info, index, HPAGE_PMD_ORDER, &ilx); > - page = alloc_pages_mpol(gfp, HPAGE_PMD_ORDER, mpol, ilx, numa_node_id()); > + mpol = shmem_get_pgoff_policy(info, index, order, &ilx); > + page = alloc_pages_mpol(gfp, order, mpol, ilx, numa_node_id()); > mpol_cond_put(mpol); > > return page_rmappable_folio(page); > @@ -1639,13 +1639,14 @@ static struct folio *shmem_alloc_and_add_folio(gfp_t gfp, > struct shmem_inode_info *info = SHMEM_I(inode); > struct folio *folio; > long pages; > - int error; > + int error, order; > > if (!IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE)) > huge = false; > > if (huge) { > pages = HPAGE_PMD_NR; > + order = HPAGE_PMD_ORDER; > index = round_down(index, HPAGE_PMD_NR); > > /* > @@ -1660,7 +1661,7 @@ static struct folio *shmem_alloc_and_add_folio(gfp_t gfp, > index + HPAGE_PMD_NR - 1, XA_PRESENT)) > return ERR_PTR(-E2BIG); > > - folio = shmem_alloc_hugefolio(gfp, info, index); > + folio = shmem_alloc_hugefolio(gfp, info, index, order); Avoid order variable, we can directly use HPAGE_PMD_NR here. > if (!folio) > count_vm_event(THP_FILE_FALLBACK); > } else {