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 05D99EB64DA for ; Tue, 27 Jun 2023 02:27:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3D5F08D0002; Mon, 26 Jun 2023 22:27:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 385D78D0001; Mon, 26 Jun 2023 22:27:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 24D578D0002; Mon, 26 Jun 2023 22:27:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 160DF8D0001 for ; Mon, 26 Jun 2023 22:27:43 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id D4C32C0857 for ; Tue, 27 Jun 2023 02:27:42 +0000 (UTC) X-FDA: 80946941964.05.FB1A6BA Received: from mail-qt1-f169.google.com (mail-qt1-f169.google.com [209.85.160.169]) by imf08.hostedemail.com (Postfix) with ESMTP id 2745B160002 for ; Tue, 27 Jun 2023 02:27:40 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b="SjT+NGU/"; spf=pass (imf08.hostedemail.com: domain of yuzhao@google.com designates 209.85.160.169 as permitted sender) smtp.mailfrom=yuzhao@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1687832861; 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:dkim-signature; bh=dOhy3g1phCLJAkpl2TbZcPe+XFOt300zTop8dH8V1+o=; b=L5lQWrTwjX+ES8kT4uG8uF+6nBWegS5j0QY7Z/PhKzCMYMnWF7k+L8WVOpmsVYfhnz3xKd gW84aY8cxzJMZkg+zZpSAZR6XOA+L6Sb3CnUSA5tCoYtLlZiYyO7ahPcK4D4lkKNSv4a7w c7e/K+CLaoVduASwyueMDKakstTRGTQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687832861; a=rsa-sha256; cv=none; b=t+DHomnpOwGXsBKoSIjGoFEfQYGd9SGPBwVTGSe1pzqecZcW8JZcM3a1DLQuI4lMAsMaSn FgpisbaoPoWGXGBG7KM8gjM3DY9pyN4OOKNM2prT2pPqpZpEbFJZFcJ2YqcENyfKtVZcvj S1iorGM1LPsMbVL9mnz3RvBH6zaM/zY= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b="SjT+NGU/"; spf=pass (imf08.hostedemail.com: domain of yuzhao@google.com designates 209.85.160.169 as permitted sender) smtp.mailfrom=yuzhao@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-qt1-f169.google.com with SMTP id d75a77b69052e-401f4408955so85591cf.1 for ; Mon, 26 Jun 2023 19:27:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1687832860; x=1690424860; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=dOhy3g1phCLJAkpl2TbZcPe+XFOt300zTop8dH8V1+o=; b=SjT+NGU/KYp0j20S0Aem+ucWhH5rMWKMTvqrWJZGHCXKNk/LoqG+k6xJDmv+G7pu6D 36lTPzR3ohTT2iCmphZKpBld1mzuq6LD9UPdJrMSOKVZrcoMrbToMUK05vMKSq7Mqco1 ngdqtresiHFCt8k60Ed9MKzMJXlF1YO1/KSGjmI4plvCYnWxPaPtbifQP5Dr0f9dUdkE GOFP80hxOfsDuSqNAN8sVcWkRnMvxffTxmCL0n1l8BnOLfZyjhJ7DL36iVd+FjFhPi7M T7Qm+yGTZOGslzbLI83m17T3pWe5b3GUGHWu43CR9f/xk0/lyDWAL09H8sRgioiTAqyD rSyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687832860; x=1690424860; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dOhy3g1phCLJAkpl2TbZcPe+XFOt300zTop8dH8V1+o=; b=Ot404u5qzgYW9Iwu92SLAZ2xRrIOGzEnvFgs8TxFOPPzJI9TDSeh/ozTFum0OzFJvo vI4Wbj/2t6xKzWkpKovS+PYdITuH+dXXoh0w4vmweGbk+NKLZgTd4YXkYoE0R1nf2N4f R/An886lj44QLsLgKzJoBk/3yboI/66vSCBMddICnRXp0zqPJ8+mEXjA7VUFJprwXWab XX1usztfGU4YvMof1mU7bApVqXRF7kwMN+E9LKkD+7MbWuFGI/3spCYqhSHaPj8W56Qe eTa6EDglo5fWEa03mEgn2hkYnrDstUOSI4T9bmrOHPbo9qAXG6zq6XESUBGiJkgZChBB 95UA== X-Gm-Message-State: AC+VfDwslIqpE9/b2QnS7wDit+2d+/GV6tGbyBwkD9C4TJZUYXmMxDoa Jk1X+I6zUuUXfUQIQfsVesme42TNmMOdpYAWpEBGtg== X-Google-Smtp-Source: ACHHUZ6l05CmUEMzgTGl8UFFHdDjs7Y9vlJ1taFM6n42hpudP5U+bVa5aa314ArfBd4UutHG2EoqXB2PidC9xtlm7Ag= X-Received: by 2002:ac8:5912:0:b0:3f8:1db6:201c with SMTP id 18-20020ac85912000000b003f81db6201cmr581747qty.13.1687832860133; Mon, 26 Jun 2023 19:27:40 -0700 (PDT) MIME-Version: 1.0 References: <20230626171430.3167004-1-ryan.roberts@arm.com> <20230626171430.3167004-3-ryan.roberts@arm.com> In-Reply-To: <20230626171430.3167004-3-ryan.roberts@arm.com> From: Yu Zhao Date: Mon, 26 Jun 2023 20:27:04 -0600 Message-ID: Subject: Re: [PATCH v1 02/10] mm: pass gfp flags and order to vma_alloc_zeroed_movable_folio() To: Ryan Roberts Cc: Andrew Morton , "Matthew Wilcox (Oracle)" , "Kirill A. Shutemov" , Yin Fengwei , David Hildenbrand , Catalin Marinas , Will Deacon , Geert Uytterhoeven , Christian Borntraeger , Sven Schnelle , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-alpha@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org, linux-s390@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 2745B160002 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 5xmqscmbn7u7he5ejtcd6npcobwwgt5f X-HE-Tag: 1687832860-183799 X-HE-Meta: U2FsdGVkX1+u0+9zYOzuDjYs0uqLCxq50hRdx6E4ePv1M0PbnMAKVGajQ6zVihQR2juZwL1DNHha1QMwM+MCVW6aWb2DybSenjvFaOMxpI6G48ILWkKMq9ISV1j2OO+xo4E+dTc8+qU3uB2LPgI5mc+UuqjlE42RrIN0XJuv6cn/+TxgKEKTXdorpWBo0YuuFQ/4N3Gwt2+nRdHXgVLrYBXMar6hmkkuVTnld2ojQtpPIxeU58qZqqY9yLC5JRccUSW4Mtpu45Rq8sd6YruV+MrICxps3mpVPR96dzRvtbaFTWnTQCKLhQAN1dBLwdR52KRJ/NeBA4m33THKU+0/z7e5dfmZmVjmqtcWT0XLNMy+XLnEJbRpzC+1VNdlG6t0V+b9UB72VfE608eWGNKsPuv8t+EmA++l2BYS3f8YL2Wk2BBOhTaLpFzpTyKI/iP+8HeB6h/C7P35po9E+tHBObbZ4N6M6MgqD6xu/9pVNN9WKl3TWONxhmte74ho+WSe+X/y5y/tR3pI5E38T8Nk7/Z08j1gQII2quHrZ/PDDj2/gLQzCyzlFHbEa/GwHqF/kwL5jN62Cv0H7i1kdJaQBJg2EU6vDAt0BXF15Sn/AaQFoscEPAP227T+TJ7Bcdr39ddza0FOBOAcy5yMmZkbUXAwz0ti2EZrqvOJJPdFWCpvoHKh7yssahlWaTEHjrIR9o+VV2lUfl7naaNcx5O8X0uF48j5LmOzVTJad2ZL1qNytZz6wyRbezzNQVFYjU1qvZbl3NBcw4eN28mbFGNO86n3iF4FuseJYGEtJeYlmTOe+UPVtH8B1PsBjNQ1zZWcyDAUeilBrhKzWfcwH2m//TJwI87wQ9XTWlgSSVqf/3EzZOdfig5OBQ/MLbzyynx16MxI78LfX0TJLQSMCV7Vjwvzv6k6wnvd3DPnRz2Do83dtTgH8zRjYhggxwAC8ic+FA2URsfKLAXm7gbi002 2Ldjtzr2 vA0yQbhznuRxxdyXL8CgHwkjbAV7vq1BfrcJqftgp+ziJ3hXzg23P2nFGjwHpZtxz4zi+U7wgpDc7Rvr9CW1oZM/x1CsLRoPNNgP8sb/d2aTJ3iWZBU3PC6qcgED/KDNtNcUespfL6ViGa7aWW2L5n3kMSxZG1z8d3kbABI1Wd0NoZn+DUNJLxepDqW2W+suYqX+Bad42jqOaNMEOQ8FarlMDU9NIQXLZIA5noptG5FQ0vmdHcGcxEQfICn/XzrfIt9KZzO58od5JYvsu2ANKPTmpmJ6pFJMhrpZBHeabcnHKU2MOWxJeTu9ZWsDpum11NLb6MD3J2KjrLl8acZWfuONeqg== 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 Mon, Jun 26, 2023 at 11:14=E2=80=AFAM Ryan Roberts wrote: > > Allow allocation of large folios with vma_alloc_zeroed_movable_folio(). > This prepares the ground for large anonymous folios. The generic > implementation of vma_alloc_zeroed_movable_folio() now uses > clear_huge_page() to zero the allocated folio since it may now be a > non-0 order. > > Currently the function is always called with order 0 and no extra gfp > flags, so no functional change intended. But a subsequent commit will > take advantage of the new parameters to allocate large folios. The extra > gfp flags will be used to control the reclaim policy. > > Signed-off-by: Ryan Roberts > --- > arch/alpha/include/asm/page.h | 5 +++-- > arch/arm64/include/asm/page.h | 3 ++- > arch/arm64/mm/fault.c | 7 ++++--- > arch/ia64/include/asm/page.h | 5 +++-- > arch/m68k/include/asm/page_no.h | 7 ++++--- > arch/s390/include/asm/page.h | 5 +++-- > arch/x86/include/asm/page.h | 5 +++-- > include/linux/highmem.h | 23 +++++++++++++---------- > mm/memory.c | 5 +++-- > 9 files changed, 38 insertions(+), 27 deletions(-) > > diff --git a/arch/alpha/include/asm/page.h b/arch/alpha/include/asm/page.= h > index 4db1ebc0ed99..6fc7fe91b6cb 100644 > --- a/arch/alpha/include/asm/page.h > +++ b/arch/alpha/include/asm/page.h > @@ -17,8 +17,9 @@ > extern void clear_page(void *page); > #define clear_user_page(page, vaddr, pg) clear_page(page) > > -#define vma_alloc_zeroed_movable_folio(vma, vaddr) \ > - vma_alloc_folio(GFP_HIGHUSER_MOVABLE | __GFP_ZERO, 0, vma, vaddr,= false) > +#define vma_alloc_zeroed_movable_folio(vma, vaddr, gfp, order) \ > + vma_alloc_folio(GFP_HIGHUSER_MOVABLE | __GFP_ZERO | (gfp), \ > + order, vma, vaddr, false) I don't think we need to worry about gfp if we want to make a minimum series. There would be many discussion points around it, e.g., I already disagree with what you chose: GFP_TRANSHUGE_LIGHT would be more suitable than __GFP_NORETRY, and there are even better options than GFP_TRANSHUGE_LIGHT.