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 C4189CD1292 for ; Thu, 4 Apr 2024 21:44:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 28B836B009C; Thu, 4 Apr 2024 17:44:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 23C4F6B009F; Thu, 4 Apr 2024 17:44:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 103E16B00A0; Thu, 4 Apr 2024 17:44:36 -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 E0FD56B009C for ; Thu, 4 Apr 2024 17:44:35 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 989E91A0527 for ; Thu, 4 Apr 2024 21:44:35 +0000 (UTC) X-FDA: 81973178910.20.0FFA214 Received: from mail-vs1-f51.google.com (mail-vs1-f51.google.com [209.85.217.51]) by imf20.hostedemail.com (Postfix) with ESMTP id DF5DD1C0008 for ; Thu, 4 Apr 2024 21:44:33 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=FfX2ofgD; spf=pass (imf20.hostedemail.com: domain of fvdl@google.com designates 209.85.217.51 as permitted sender) smtp.mailfrom=fvdl@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712267073; a=rsa-sha256; cv=none; b=EmN4Ea18iqJiROpUNlwkRz/xGg2nT1dtyZ6Uaga+xeVdYCBMkfTJVqTegqnF5zgxqtNxa1 QuRQIUhokk1vrpQd4pZbKUB5aNZp6R0d97tYG1ntXqlI1D6VnDdPiiucJwfIV2KK3ok6HH 1Bbo0hdR39jBTsiNt9F365peqhkvs1s= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=FfX2ofgD; spf=pass (imf20.hostedemail.com: domain of fvdl@google.com designates 209.85.217.51 as permitted sender) smtp.mailfrom=fvdl@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=1712267073; 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=j28I1CCYHEt/JOzyDtFXIH06wcxI6ew8Dw/pbr+Z6ug=; b=6oYU/zCaBX8EEcgU+R8CfMKosZb1+F4SUbVBYGMR83FugawFb70cYNsYXdLochfebxdy9T HPWWwAQGXQ7dokLTKURa3uMqOAUT2HDbBa9yGa737wfGmALfKhzdDanFwqZCLPuw72vdTU d6b0SDKghNmB/J0RBNvs8WzA2hprqIQ= Received: by mail-vs1-f51.google.com with SMTP id ada2fe7eead31-475ffc62cbaso613332137.1 for ; Thu, 04 Apr 2024 14:44:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1712267073; x=1712871873; 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=j28I1CCYHEt/JOzyDtFXIH06wcxI6ew8Dw/pbr+Z6ug=; b=FfX2ofgDzt6nSAW6w4T7YTO/tOVzw6Rwrl3mMEusudHCPn6K3TM7WRCSZ7789aKndg pAcHmLesHrR+X5V8Vk6xr1rNzT61l56QrXsZgmLw2/g68cpHyVziug9Sw/O4IHyEmpkI 7u9iNIo7YEDrURqK10drvINIHeki7GnAa6aHa65MpkGi4T7ApCRx5A10V7XtizVxSc3G NrH4zvtcRtxPyj8migR+vaZMSVnHqJ1gctbOg984Eo24mxgWcHAcOyhfEAkJpeIQKrtL Y3ZCJF8EMYK61kqfrg8dCRslu5HW/0lT2ujxP4cNWyAYJJyaVWsv2NnrX85lDZ/6mZpv sO6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712267073; x=1712871873; 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=j28I1CCYHEt/JOzyDtFXIH06wcxI6ew8Dw/pbr+Z6ug=; b=mJjaaQ4U2zBFxCAUvziVuf1g88pw7I2kTDQ2c8jqYjAUSA0Px7OOXvL6y/VSjNNSn1 gTsPSSmJzoyjT22N0429ZcSGpHDQtSlE40i1a5E5lZh5IagQBIsF3yscNL7m8iy130nj UUqZNQkIhz2TRoFqzjoB1+ZXbkcPX57b5IxFWdXN5knz1mXI2TM1ahEKoQuMNiDahsju Eglt3cDUS63aWS+qHi/WZJXZtZ1j4oAolT6K9Ppvwn+k3zhzjPYizgAv/7s7ttKhrtk9 /JMvwXAPdVwKdBjrwYw7UQkZFcsUDVxCl/n/CKbv2a5QsQ7QWiTMuGJLWHBkgX15kZtf H55Q== X-Gm-Message-State: AOJu0YzXZ6gPL+4Hl4KWhB1blfqrSCtqAapQrya+y8IrQdBlcojR/KPY h9hXf2D46FfnYwQzBkakIij68S21PPWjuUydgO6HJ9XsdKIEL1zw8/kdnHyt2ImaRPYNTYh+DGW XSuc0Vei0gtVItvW7iub1mXPFCNRnjxaSWcJl X-Google-Smtp-Source: AGHT+IHCoc5srOPRPl6ct1l7nD86qQ+kfsIrX9sZJWk0vU4O+qwPM9eOC2FFUSXJSf9L303FCKE0hC++lB6bgom7UNw= X-Received: by 2002:a05:6102:2045:b0:476:df40:b366 with SMTP id q5-20020a056102204500b00476df40b366mr1077203vsr.32.1712267072793; Thu, 04 Apr 2024 14:44:32 -0700 (PDT) MIME-Version: 1.0 References: <20240404162515.527802-1-fvdl@google.com> <20240404162515.527802-2-fvdl@google.com> In-Reply-To: From: Frank van der Linden Date: Thu, 4 Apr 2024 14:44:21 -0700 Message-ID: Subject: Re: [PATCH 2/2] mm/hugetlb: pass correct order_per_bit to cma_declare_contiguous_nid To: David Hildenbrand Cc: linux-mm@kvack.org, muchun.song@linux.dev, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, Roman Gushchin Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: DF5DD1C0008 X-Stat-Signature: xfoh54y9bf33bcfctgzzjd166kxxpz5j X-Rspam-User: X-HE-Tag: 1712267073-289599 X-HE-Meta: U2FsdGVkX185ffIfSx5vcofLvwrzYu+U8dULiPSg20HdD7a3+FpTeZetOP6gzioOqQRj4XRevKWRvy5EJXQwWuqrDK9AJi7/Xd7HjwPHDAgJWBIJciFgp9tZV47ft07tNcrTZv7vuZ70EDmp2F12N4lUkZYGYvVv1vzrdcDw3fAz6OkJgaOivl1RowBFsMJaEhOES6mK89XpEQyV7fBVg6H3cuEgCRfZ1pi04AfdcsweehouxRmf6eS/odRaIePKBTN5EoeJNKSRO5oaWDAafHvQcHXNCIZ7Yh6AaWu4B7KMlxLCy7WGTKQ8sF1Tcr9xhYJbhBbcGrTyJ/ds8LWQ4Sy63tzd42DhFFMYduAzP7tXwjV2+N6o5M9uKIu1yz9h1kH9OeAZMi8IhquM7AD43gAY0Xm9lpRld2abgDtTUY8lQJ1IJwmKhe1syVEkQwqt6a5sfE+S5DLL2FNKZoC4FVNgeVc1VCW2nPSjMtwGrCFupb7+HmE+9n+4E1cROYvC+TtS16lfjB46PsLnvZymNyGx4GfNW82OtEVzrpWLXG5AbK2JQ7xpy2QOUhIY5PC1dnzZYJpW7QZiV84N0h5G/MU5zndTvCVVJOemmLMhONN8+H1672/eMK4RUonwkCSBXLFpHWYShaq8btcc1UDhXtpHigwwjeFaBMzR/572uPkdujWmzAGFRyoRDR0kZQi+hq9li3ZpzH9L6LPupP/b6Vj00dzJrBw8XjGlsbz5diTlQUsD9seO1WQYSbRSG8k9Bo/QsFRNxZmqwLYfvRZmZlkob5f+sAgY065Pr9UdRI49MhFmrJQW5sILnzxquSfSLbHt+L/Sli2l5o+zAWijI1CgJ98X6UWlOwDRepWRrMpkUEgCnTPVcAJRKEn9hbEjV+DgE8C4UeULAXkv/mHWvFAA+RRKVJsDezH3yPsRPkvFs6JCLRQ69CWVl3099UUjFCWAHTTID5jMKtRdzDq HssY5jd/ nwMnZci7U34jQypFlmvQ/qOuGU/iloRYevfICEEK1omGqZoyrFdxr7L7KojZ7YFzH8CqFXR802lT6VyTpAX9v3HwoeLetIR6fg/ycL/ulHwtWUXicLsv51rbMyVf5WOm0SyJqSwDuYEPCHj6A+OBLikNETNA/lVqT3RKV5MDZGo6CxWaJI1tAqa7rC3MxWXJixKl8ANKgt1InWAaSFWiMtSVwpTjz4KizhTjquXTyiQ8qCUtWqJsL8YGB/Mb0l2DZbgmVuTM7TkfoPOdNuk4Ctmd/2JYaLzOtXANL4GSqjwIGn/S5AAa06AWCA9v/lPDbsxpy 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 Thu, Apr 4, 2024 at 1:13=E2=80=AFPM David Hildenbrand = wrote: > > On 04.04.24 18:25, Frank van der Linden wrote: > > The hugetlb_cma code passes 0 in the order_per_bit argument to > > cma_declare_contiguous_nid (the alignment, computed using the > > page order, is correctly passed in). > > > > This causes a bit in the cma allocation bitmap to always represent > > a 4k page, making the bitmaps potentially very large, and slower. > > > > So, correctly pass in the order instead. > > > > Signed-off-by: Frank van der Linden > > Cc: Roman Gushchin > > Fixes: cf11e85fc08c ("mm: hugetlb: optionally allocate gigantic hugepag= es using cma") > > It might be subopimal, but do we call it a "BUG" that needs "fixing". I > know, controversial :) > > > --- > > mm/hugetlb.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > > index 23ef240ba48a..6dc62d8b2a3a 100644 > > --- a/mm/hugetlb.c > > +++ b/mm/hugetlb.c > > @@ -7873,9 +7873,9 @@ void __init hugetlb_cma_reserve(int order) > > * huge page demotion. > > */ > > res =3D cma_declare_contiguous_nid(0, size, 0, > > - PAGE_SIZE << HUGETLB_PAGE= _ORDER, > > - 0, false, name, > > - &hugetlb_cma[nid], nid); > > + PAGE_SIZE << HUGETLB_PAGE_ORDER, > > + HUGETLB_PAGE_ORDER, false, name, > > + &hugetlb_cma[nid], nid); > > if (res) { > > pr_warn("hugetlb_cma: reservation failed: err %d,= node %d", > > res, nid); > > ... I'm afraid this is not completely correct. > > For example, on arm64, HUGETLB_PAGE_ORDER is essentially PMD_ORDER. > > ... but we do support smaller hugetlb sizes than that (cont-pte hugetlb > size is 64 KiB, not 2 MiB -- PMD -- on a 4k kernel) Right, smaller hugetlb page sizes exist. But, the value here is not intended to represent the minimum hugetlb page size - it's the minimum hugetlb page size that we can demote a CMA-allocated hugetlb page to. See: a01f43901cfb ("hugetlb: be sure to free demoted CMA pages to CMA") So, this just restricts demotion of the gigantic, CMA-allocated pages to HUGETLB_PAGE_ORDER-sized chunks. - Frank