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 B8745C46CD2 for ; Fri, 22 Dec 2023 23:11:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 330B76B0072; Fri, 22 Dec 2023 18:11:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2DFEF6B008A; Fri, 22 Dec 2023 18:11:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1A77A6B0085; Fri, 22 Dec 2023 18:11:26 -0500 (EST) 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 05A066B00A5 for ; Fri, 22 Dec 2023 18:11:26 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id CD6AB1A03AB for ; Fri, 22 Dec 2023 23:11:25 +0000 (UTC) X-FDA: 81596002530.29.5D9D795 Received: from mail-vs1-f46.google.com (mail-vs1-f46.google.com [209.85.217.46]) by imf03.hostedemail.com (Postfix) with ESMTP id 20BEA20004 for ; Fri, 22 Dec 2023 23:11:23 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=UZ6R9CmL; spf=pass (imf03.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.217.46 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1703286684; a=rsa-sha256; cv=none; b=dFXrnqn18QbvPvgOiW/QxnLMfqL+NDCBwhpGrOMZ41T3j8SheKjNrRJtxGTefl+qlQY2cO VKgzl5uzjU8QyPT7K8HMVXvZp+MrIWrATMOHzu/eIVVsxb7NERtwMTh9Re8BM4M+VmtY2p g1hIRj8CT17GNRI6B/ida7T4EsrAWXY= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=UZ6R9CmL; spf=pass (imf03.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.217.46 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1703286684; 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=l8hjylM1/sCZLu7b1YGlLKpoQpcFmd5BMXmk/3fk1dM=; b=i8scue5lkykkDwe9zrwjU/YqYab7WUU3wVSfhtX0xMhr6fmsHLi+323AQMDUVbndR+rvdV Y+rAvrupBvtQijpIBuoD9VJ5qQn4QqDCUOi/6FE6IRgcJ8Bl20YpR6M+w/LPe5vDC7cUrM Ny+oi+JlhL/BpxMgbkRbILoPe/wLH9Y= Received: by mail-vs1-f46.google.com with SMTP id ada2fe7eead31-466ea0f47e5so105874137.0 for ; Fri, 22 Dec 2023 15:11:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1703286683; x=1703891483; darn=kvack.org; 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=l8hjylM1/sCZLu7b1YGlLKpoQpcFmd5BMXmk/3fk1dM=; b=UZ6R9CmLHQwuK8JJlLW63ZWeAnOnYKXIztJKVraR7PbP+Mc0LEDuX1CrFfi8SA0SCR eqaMIO7Vw5vskBUaO1DzySpw22pwFau7lgZqzPjb1Gq1D9m+0qUj79m6PUry5c6y9+9G dW3sCgJK1MO7qpV7XIuN80foJCWOUGvPvHtkBoCfmaEUmmAmsiKISRN7whCoiPRwMTsJ CtXs5zXhCqRREzT8ZeR/mxsgwDaHmjUKOAsU0ZHXQP5KvcOnqypNVHY5f8zDRv84kgES 4L5cnJVGeGf+dMpwlrXAq2z+odSmWODE5KwZD2zO0Z8PGBiLS+za1/VLXa0LhzRoyG4e av8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703286683; x=1703891483; 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=l8hjylM1/sCZLu7b1YGlLKpoQpcFmd5BMXmk/3fk1dM=; b=Rre/q4GWDKvkkqHOmpKsXd4ddOLLe2VKZU0pG1SH7aeM3ZQJrQFHRmhDkmDzulv0Kn 7v1srkyYVoX78E6vRvtH6nGP7jacc9CUPYHxdkd9ZvZZweDppPl5xs6qALDsXpR44U7k OMdcYdbsWOSC+P1iIcx1tUEdf6dGZeY792ezLJPv5YR1gRbn71WSyMNco+0rszD7EbQc tqc0skvuTHeTUBBI9oz4lC7xRGL44cgG/XUoOp9LSxBLQL3ap4SwZMsu9ouZpKPiN6ah 0HnOLndy5RFmqjxCaPkGiAvhNCoy/41fjoAMZhOCirG04hO1pArCnD1/ILWPlLe/gWR8 9zvQ== X-Gm-Message-State: AOJu0YykluEVct9K45HPJp4gVDS+7CDma0RK/bgHORPNF/CqhZZM0hSt XOvwruCjGnayNZEgufRtA0fS3Jwod1lflPduhS8= X-Google-Smtp-Source: AGHT+IFXcctPlc3hwIx3qlg+EomoEkEcyMAxoBKGzKx01wSS0fY2xkRWV01N8DOlxNRzdIC43i5Yl4Sm0bJM4q1/gYQ= X-Received: by 2002:a05:6102:3f9f:b0:466:a3e0:29b0 with SMTP id o31-20020a0561023f9f00b00466a3e029b0mr1667365vsv.27.1703286682992; Fri, 22 Dec 2023 15:11:22 -0800 (PST) MIME-Version: 1.0 References: <20231222202807.2135717-1-willy@infradead.org> <20231222202807.2135717-3-willy@infradead.org> In-Reply-To: <20231222202807.2135717-3-willy@infradead.org> From: Hyeonggon Yoo <42.hyeyoo@gmail.com> Date: Sat, 23 Dec 2023 08:11:11 +0900 Message-ID: Subject: Re: [PATCH 2/4] slab: Convert __kmalloc_large_node() and free_large_kmalloc() to use folios To: "Matthew Wilcox (Oracle)" Cc: Andrew Morton , linux-mm@kvack.org, Johannes Weiner , Vlastimil Babka Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 20BEA20004 X-Stat-Signature: tmcyd5rt6nuo3b6bk47433zh8oh7nfca X-Rspam-User: X-HE-Tag: 1703286683-590766 X-HE-Meta: U2FsdGVkX1/nUIAoamJwmNk+3GRpd7Ic5SfLATOsP4mMQQ/2t2lNI8Bw1NsAv2GIXRzVrljZHL0F1TxdQp0AjyLC4ih1OBupf26u8lGR04VHl2wDjsXsMjKbilxG0sny1ZZNJ3jolLOmIf2dfIuDWZJWOgvV2/Uyk8tUCsF1UDkjTFYcUmyY4+5GZvaHiIS1bCXRoCnewViPTBSM/2Qh4Tcm8OZi3AOehiPGD/Zoz7uIA5vb4nsTTC7wbbsyTOvtBRrEoaqAyE9yApF5jf/LA3PE+swnPh53bNbRZckoxyMPdyrTBS4Fc4jmovEXCN+BVjsbN4g1tKpj5OG67S2+gk7e/x75ob/4XjiV/Lu8b3g+Hdy7vlbZqL2zRX8TIkQf0NNo+122IHIoA89u6MFUiMkuyvQNOcU/kOOl2uruZcVunMzvmPbkU7+VUiptl1DgsonoazyILF8igRgzSwdxjGAozvPYJH3bUygKJOw/RGlZ8UBEpNzaW6tDKfanrbCUgx6yv7bzi6SCHuStjQjn5aflRLwHKXmlqpcJltXVWDzuius6442P/JhcM6ng6VyaQX1cYRxk/dPLwGdqVivEwt9Nu8UShSU/19STGTa/RUqKUrHKfeEvJ5J8IRU4LGhNwdxdwF2yJ6MfFbXNYnRFF2FzTLS3J/rM+ZW/2SXyk3rbQpOosEURob6HNBOdtQn0jOpImQsbO/r5F+61yQopnOY8posOjQxq8KlTWovWglqN0nPa3e32cB9ERCvPrZ3/dR1W9DqQhOIW0f+2eTHrBk/H37HvVqGoqDEkoAzMBJk9vBEAv5g7lAv4S23Xq529aHzPRyB38KhT5+ndLxR+fAJRXv/nQ1QXfWTPSPVNPMGg4Rr+tTMXBPbEF0EhdZERpwkqAI+Uv17MtKXiHOZsMEk4xPQ+2/a2knSEW8eGmkc/XJoj2h8QsxWPNXmeHbdNMJCaLIyNDjIfid7VF5C Q5uGBu8x 7QIxGmvuS8nbk4YzdgRp34VtLhhp2nrEom8sYqVMRGYeHo1+caz+gYIfrNS28E8u65+Niu4lq08yhGLfuJOOyRYrVjNzW4XJp2klugGcIQbvbj6SBPgbfwfEmPAGXwzErv167/Ce3Mve2iICXL8LSc3dIjoUtdNFcWJS+jrA7AHOkpe4LAmesASIWDtPg7VRV/KdrD99PvkyT+WzGgm+AKCSjsgepvDccLOCW1/Lv+mUhseIXS35iPtxAnrqxw77WvUoqcH8dw6NeLGfgX4tRErmrgbCkx1uO9L0ShKlskM9hMeOWq0Rr42YkryumLJ/m63/zFieNeoUWUVbMIr1f93RERx8/CiH/COW8ql46kvU+CAQvLYFcy43kiiK3KQn698MhsgC0b0R56CruUfcMOjvfWHCgSEMxTIIr1MnUgrrlWOj+3YZjeGF+w1SmP7ZXdc4k+quYgMKWabRTsKQZPchUMKREzNSeP0vXv1Fn0RVgsgg= 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 Sat, Dec 23, 2023 at 5:28=E2=80=AFAM Matthew Wilcox (Oracle) wrote: > > Add folio_alloc_node() to replace alloc_pages_node() and then use > folio APIs throughout instead of converting back to pages. > > Signed-off-by: Matthew Wilcox (Oracle) > --- [...] > diff --git a/mm/slub.c b/mm/slub.c > index 35aa706dc318..261f01915d9b 100644 > --- a/mm/slub.c > +++ b/mm/slub.c > @@ -3919,18 +3919,17 @@ EXPORT_SYMBOL(kmem_cache_alloc_node); > */ > static void *__kmalloc_large_node(size_t size, gfp_t flags, int node) > { > - struct page *page; > + struct folio *folio; > void *ptr =3D NULL; > unsigned int order =3D get_order(size); > > if (unlikely(flags & GFP_SLAB_BUG_MASK)) > flags =3D kmalloc_fix_flags(flags); > > - flags |=3D __GFP_COMP; > - page =3D alloc_pages_node(node, flags, order); > - if (page) { > - ptr =3D page_address(page); > - mod_lruvec_page_state(page, NR_SLAB_UNRECLAIMABLE_B, > + folio =3D folio_alloc_node(flags, order, node); folio_alloc_node() ->__folio_alloc_node() ->__folio_alloc() ->page_rmappable_folio() ->folio_prep_large_rmappable() I think it's not intentional to call this? > + if (folio) { > + ptr =3D folio_address(folio); > + lruvec_stat_mod_folio(folio, NR_SLAB_UNRECLAIMABLE_B, > PAGE_SIZE << order); > } Thanks, Hyeonggon