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 E85F3CF9C5B for ; Mon, 23 Sep 2024 04:45:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E63806B007B; Mon, 23 Sep 2024 00:45:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E13816B0083; Mon, 23 Sep 2024 00:45:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CDB0A6B0085; Mon, 23 Sep 2024 00:45:13 -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 B15496B007B for ; Mon, 23 Sep 2024 00:45:13 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 2DBC6410DD for ; Mon, 23 Sep 2024 04:45:13 +0000 (UTC) X-FDA: 82594763706.14.168D21F Received: from mail-qt1-f176.google.com (mail-qt1-f176.google.com [209.85.160.176]) by imf28.hostedemail.com (Postfix) with ESMTP id 6BCD3C0008 for ; Mon, 23 Sep 2024 04:45:11 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=IjrpgtwC; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf28.hostedemail.com: domain of refault0@gmail.com designates 209.85.160.176 as permitted sender) smtp.mailfrom=refault0@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727066624; a=rsa-sha256; cv=none; b=3VLS8/6ZaeBdLu6YxMGgcRvw5lGrXXDIJ7mqdXcEmJ+3LZdqiNUmsUCZkR/jsmbGZLN8za gc9CcXl1wjphbEMbkqAh3Go4qnP83nslHeXrQTQf8IOEU+T08wUl20+eMnsm9yMJXP1o6q HvQlWqG+YJU2BzWPTuyx9eNHJdhDZK4= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=IjrpgtwC; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf28.hostedemail.com: domain of refault0@gmail.com designates 209.85.160.176 as permitted sender) smtp.mailfrom=refault0@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727066624; 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=W+UDAv8JUuD8CeMJd4evn90rK4F2VqQSJxb+UyTjTm0=; b=egaKeziwZtwVVglEzqN5zMtu7yQbZpnLhgcUtxBgd2ZcauRC3X//q/4uQQGKYmca0vsH1L pBsu+jjv6de5YM7RzECyZOKA4wyr1WB4Ry4cTGCARSEjs79XTjrBtTM1G7uqhki9ZS56/K Oql4ggBTNrbd0z4lVDsJG+sFIP499jM= Received: by mail-qt1-f176.google.com with SMTP id d75a77b69052e-4585e250f9dso24910461cf.1 for ; Sun, 22 Sep 2024 21:45:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727066710; x=1727671510; 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=W+UDAv8JUuD8CeMJd4evn90rK4F2VqQSJxb+UyTjTm0=; b=IjrpgtwC6rpe5+I3UufcK4x2nvtSKePhXQlkzNkexInFr+TrEYbku9MgyniLZVMJ+o wtj2AnQDCd5xzo+fVRQ1Y+zSFv3YL8s0CsX+5BvVXJLOLhRNeIJZEJ5LIYOtrtB406kI 9z2h0GwYczNpHd8S/E3TxsHV/W9L8rhZICahzMiclkyDL86a2iyGnJGbUsLMyEb6JWHp fC/1z6k16s4Z2qloyjSYLa3y7kjlzPu4LTysu+HF6dMavm/Ma57ZUcTrsHzkidaHf1Na tHdWXzgVTzM4hKiZ4i/IRaw0pA9WS0JJ5SE5WSN6R7H01zHvGvTdHolzHdRNrHP5ztJ9 8W3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727066710; x=1727671510; 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=W+UDAv8JUuD8CeMJd4evn90rK4F2VqQSJxb+UyTjTm0=; b=pK9bjAwDbdSiFu45NfZaQnyFhg1C7n2U4WoKZI+Qe5NEhCcxmhtB5qt62toMZCx/zq fxH7GLjcfuCaNvflLZW9B8VeiIXtk0QLzSyRCJVYpHX7oU3QUmpPsjPN6DgpkVeo/N29 QWGm5t2Yi69lN9VtZIHcFc/QuyX2S4EvSJkdQmR1VjoZSIGrVx1ETAKzwi0/+KMeezew NhSbT37FS7mlY9Xxw6CcAg7CSkc73QhZbkTpmkx9RqQxb7Co0s4nGoXBg76kYGELhTc3 aXQFEzvoAeT3N7bqBCNaqWFTtwS1yZYquoi168wQlOPlUCFNnphXKnt4uyTQs3XFIsji g6kg== X-Forwarded-Encrypted: i=1; AJvYcCXBv9bIx8pzrWpl6GQAmkKo7xSGXxpiWT61RR6YP65pg7FSrchD18jp/yOQi5sAmicQE5OOj+d2xg==@kvack.org X-Gm-Message-State: AOJu0Yz+dXdMzK6syngWwKf+ebFB6PhsIM8Nr7RKZEH6OE09O2qgoYYz y0rcxdW8Vunmk6zCMESFtEU+AF6gdc+Is5V4TFfFsWXdrh9D2XSsZehVivBxy4AldnTtRvxdGWa snX8gb6pwiPBULIlNhJImbej+uQI= X-Google-Smtp-Source: AGHT+IFCUNNKXhR8Wyqn9c0M40t2qOE+oiVeSi6DK0gS1TmMT+a2pTIlUG58PCLyvyT4IagFnjfHia6qd2C0LPYglKA= X-Received: by 2002:a05:622a:15d5:b0:453:1afe:c711 with SMTP id d75a77b69052e-45b2050e59emr121771071cf.28.1727066710497; Sun, 22 Sep 2024 21:45:10 -0700 (PDT) MIME-Version: 1.0 References: <20240829165627.2256514-1-david@redhat.com> <20240829165627.2256514-2-david@redhat.com> In-Reply-To: <20240829165627.2256514-2-david@redhat.com> From: Lance Yang Date: Mon, 23 Sep 2024 12:44:59 +0800 Message-ID: Subject: Re: [PATCH v1 01/17] mm: factor out large folio handling from folio_order() into folio_large_order() To: David Hildenbrand Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org, x86@kernel.org, linux-fsdevel@vger.kernel.org, Andrew Morton , "Matthew Wilcox (Oracle)" , Tejun Heo , Zefan Li , Johannes Weiner , =?UTF-8?Q?Michal_Koutn=C3=BD?= , Jonathan Corbet , Andy Lutomirski , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 6BCD3C0008 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: hm19h6qgqrspbxeg8sjiyjwybq5thg6w X-HE-Tag: 1727066711-239821 X-HE-Meta: U2FsdGVkX19g1fFUgebDrUFkSnV+odW6esrXLGxmcOHlWTcJf1Jk1ePcINMZnjpdWr5xj7C0hF+FsRZJdYO/K1Ttzc4sBAIVGeIyVhImYdHtY+NIxbXxFOH9jibT1sG+OPdcJoPYFyt5QMt5dwyI0pl5tdJs+681Zjbi+/uX348N59a8SNHUJk1Mdjekgm/yE08B2Z2Aox096ZUcBkjBMoKm93cuVpxpuaK4/qoIciBzN/M4Tohc+LxJttkqCcGf/RDXz3AZlbGPqX14GsoXHi5Y1hYrL9n4DX0qthIByBZeoFypc8JNf33LcQ4txZkQIrAd4I8NVIjHeMhYgPqqKBH0UPMb7eh0VpD2qifoKdKvdVGPRbFMyVTmvrTIUMo64virGhop9KuBDyIhZvKseATsCJ1e2HhcSAmxIo1XizUEom8VsI7u9QY+cuUukRl7nriHauEbuYGZluVZQQU1B0szU7cGqkfPxIuizSW+M/r5/QGPHU9clxWZnw8S7uwgZdBKvCgMYmHYoL6H688W8vaWaEqi8qvpe7oqvxgO3VXSk1QqkTGjdGQ+plUI7MIuyBi2P5lMKg4APT1OIEUUrhofATtUjUhm9sd7QLIgsMTgvgy9nJov+iJ9mFn651bt1Z80FmlFxt9UDkUxewocc2mIRCx7FngqrHex0eBKGWentZ4xPxv2tob32iV1/D3zyMte29c3gypo22EEct8/abspMQWnBXMKgj0OSxhu3offu3i/kjjT5SBuRAcC8RRv2qWHpBNu290R3HKr6lK8EWi5HEAK8kXR0Mqxmu+QdtZ8LV5XVAhRgbb53qU1lyN0THtAYPUQ3PPFcMBAf0FA9goBi5hBxMHpDjT+KskGqRiOH8QY69QKhUSv8Z/nKg8pqaAymxmwFUw35/teq0brGl6e41OPnMuzp2kia+YC+qdUTa/aCx1e7dZ1+khjqhnEUlMPIr6dVALfEWXxA1f Ucxcc1Wa zvgXcub++lzZ2+FZZuWzuXxW9LXKAYgNqYZ2fcLbGfbx1f9gQApO5yX6JyJptz+qqVv9kZ18f+wN+/rt237hj9Tj/GOwNXZok0R2VWm6sIUvpN689N5qtTjWNIsEJ9ElW1c4UKfvZhHf/elJLbq+LOGrRQVKkJLdo0zIi9mbtkiL8STdhRdpp2/D8QcaQeNbJ4ulYKXfUeZgSgsS8lIu5bCXXShBIlwSIPL5xRv4rRnBFTs9fu1YfegU0pY3cAlr2u15ZCgDzuCqhN7Rvguno3enrVzEoZUr5Wx7gJoxy0C4eoPMGPHeBzIYI/mckOBHb2KE3dBP7tCpEZPxAN9o494waaaJBixz9i7dFGDCLHuYsiUu02jOiwBbCu7sHCZ+AV1Ux9VEpcTvD9Fu4SaaPoxCzpeSAGDe1aF2iFtVZI0PlLd2u4dkepY6PTPHBx6zaMpeUZDBWsLv/YIY8pBi4iSuwdulUiIpHtitIw/RdmdIxnZ8QYWE8re/XeBsFNMDwSBzdgE6l3VSHsaWlOF7S1mB04DGWASHFc9+F02vFJgYfM3E= 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 Fri, Aug 30, 2024 at 12:57=E2=80=AFAM David Hildenbrand wrote: > > Let's factor it out into a simple helper function. This helper will > also come in handy when working with code where we know that our > folio is large. > > Signed-off-by: David Hildenbrand LGTM. Feel feel to add: Reviewed-by: Lance Yang Thanks, Lance > --- > include/linux/mm.h | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index b31d4bdd65ad5..3c6270f87bdc3 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -1071,6 +1071,11 @@ int vma_is_stack_for_current(struct vm_area_struct= *vma); > struct mmu_gather; > struct inode; > > +static inline unsigned int folio_large_order(const struct folio *folio) > +{ > + return folio->_flags_1 & 0xff; > +} > + > /* > * compound_order() can be called without holding a reference, which mea= ns > * that niceties like page_folio() don't work. These callers should be > @@ -1084,7 +1089,7 @@ static inline unsigned int compound_order(struct pa= ge *page) > > if (!test_bit(PG_head, &folio->flags)) > return 0; > - return folio->_flags_1 & 0xff; > + return folio_large_order(folio); > } > > /** > @@ -1100,7 +1105,7 @@ static inline unsigned int folio_order(const struct= folio *folio) > { > if (!folio_test_large(folio)) > return 0; > - return folio->_flags_1 & 0xff; > + return folio_large_order(folio); > } > > #include > @@ -2035,7 +2040,7 @@ static inline long folio_nr_pages(const struct foli= o *folio) > #ifdef CONFIG_64BIT > return folio->_folio_nr_pages; > #else > - return 1L << (folio->_flags_1 & 0xff); > + return 1L << folio_large_order(folio); > #endif > } > > @@ -2060,7 +2065,7 @@ static inline unsigned long compound_nr(struct page= *page) > #ifdef CONFIG_64BIT > return folio->_folio_nr_pages; > #else > - return 1L << (folio->_flags_1 & 0xff); > + return 1L << folio_large_order(folio); > #endif > } > > -- > 2.46.0 > >