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 0C0C7CF9C69 for ; Tue, 24 Sep 2024 16:51:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 97F406B0092; Tue, 24 Sep 2024 12:51:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 92ED56B0098; Tue, 24 Sep 2024 12:51:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 81DB86B00A9; Tue, 24 Sep 2024 12:51:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 654A16B0092 for ; Tue, 24 Sep 2024 12:51:11 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 1F9751A1B89 for ; Tue, 24 Sep 2024 16:51:11 +0000 (UTC) X-FDA: 82600221942.11.CDC6825 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf26.hostedemail.com (Postfix) with ESMTP id D7AD8140018 for ; Tue, 24 Sep 2024 16:51:07 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=mdBSa45I; spf=none (imf26.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727196549; 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=OBkxB+gjzWNRfNpQ9owXi+t5dwX35+9mKb5DFlkCmdc=; b=CbXy1766TwL9PDCe2j7Cw8gqlltvvMXu1U9CHomz75796Dvj67WV+VCM7t1pv0BOuljg5p 7yWcxUXLvyGulDZnffaLxgRKeI+YqTRIs3t1c05xpfwp/Try1lvoHuYb8aKZGebIp/972J a+iHxJNLMbobxQAPV3kWYgEcoxbSN7k= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727196549; a=rsa-sha256; cv=none; b=aM+yUTVha58alYFh+eeBT984XsCwUAQTU1Nel7EcPv+SmSrHPllXhXc+M8CL7JSfVlyIVs Xl+cEi8m8sljFiR/HLXCCv2dueTSA31UlENIWNXJ7lTQPDabanPkF/ukzifqz6f0Ux5rLe HjAl0e67oIIPdxEvqT3+p/9W6zM2x/A= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=mdBSa45I; spf=none (imf26.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=OBkxB+gjzWNRfNpQ9owXi+t5dwX35+9mKb5DFlkCmdc=; b=mdBSa45IKr4FwpZlXNzVsPlXPO J7RCZb5WNnQQRN6RpXj4q7rsyUzhQG9FRfpkNLriH8WHnGVu+7oTXCITv95g3aFPvBYQBKyyXys+Q PQAEykkUBoFo7WRNDZjZYpTGczvEzVrqt7PbWlv9UD+Z6NZxbzHC485WI17DaXSWm5cQ6KTkzhEtE yFpQ8TEanlVxFHpohvcdqR6VMaUJI76iYHXFpfjqPyhvmiocByZBDW8ZfA7EC4VKNgaFTfieFxJNn sxkxnh1JuEkMLk4ScV0XWSemfaFPFkXOFdNtVCUKJyNY/pA85jd65eGFEtHInZp/+57g0V5k1I2KH 1cXT5o+g==; Received: from willy by casper.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1st8kk-000000021iZ-1wc2; Tue, 24 Sep 2024 16:51:06 +0000 Date: Tue, 24 Sep 2024 17:51:06 +0100 From: Matthew Wilcox To: Yosry Ahmed Cc: linux-mm@kvack.org, x86@kernel.org, Mike Rapoport Subject: Re: [PATCH] bootmem: Stop using page->index Message-ID: References: <20240912185602.2342148-1-willy@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: D7AD8140018 X-Stat-Signature: jck3qetggroazphy8wprow6osnrqwyci X-HE-Tag: 1727196667-289902 X-HE-Meta: U2FsdGVkX181nYpc6JdUw/fiaY0Arh5xDx0w7c1b5T90ExLtBaniYwEZs/0PJ03Cr2UYDna4E7JYL+EMyqnkteX3KjmAKXaQ2rQve4vFyNL1OIT+82DmLHWv7vGMdf0GqwGUB6k2Q7Rjahlb/xiy3QEMoys43JNYo5A1q3JRbbZ0LLu3dwpkOtfUn8b64uGSkdIlZ7mEHOHD0JGyEmKQnRpQB3tC98ShyU4ZTVvtI8o2XeZlOlNCWqVxyn7itkqcriO/n9tB40I/naN3WASERiPWxceYd75UAWq9UISu1JemvL9Hd/Oq1/wNZVY3fnWYKm0HouJmVo3lQ4HLT6zG9CLsEm3avSfaaPk3HSBRrcIHgp0uC/qY5MgaOIxZKpyu/C0nZpGNK6giTt2/OY4aJx1C2T6uO0lKC25ss3AbXEDX89W8QkggYBIpiG0Em/bjXiVBaUBSWOcW1NryBWY0oeZB4PfeNwxBbno1LNBm0isSz4f8EGBjxpZRv4n4kRcAV9yaQUg/xoxwLHsOJKVGj9TI1qSY3WrKR1mvpEOanMaGQtUYLRPkLRA3NIASwQ+usRAjTCRKC49jk7Ry9gUyxNvKsWpSV71wdNGuxaM2dE/hedbQlFcaUSbjgQRaCw0rJBa/XzMwdTSo2rvwy4F47Zpvp7t1CQxRtngjYVLbRLTPGO45uNE1X0YUIDOhDG3mDTPhaSbKCi/QhVr0yBrfUjBPpXQyekidapyF/UCjqbiuMl8LZcC6zDCczbTHjGlDc+iu4dF6uKc+EOdyLYnJyBsjhLTUdGlpXFrDyz6ohDCQ+0DG3CToWcT0/mtiM6wN4kbBvpTigsu4RUXyklpkUkCm3bD52ArL5KoL68YoI0aptd5BNaSkkeQRhBW+GA/dL1D2FSsBbBG4xBmlqeGL0CN0RXIDkjRvXvUEPN7CMzjudGSnRYy0kzfetM+M1YQNIZa+nfB2tEue6Il/OnI lS/O+3Wv zqUxykRm2MlwsddbHMzryFAiIUuRVpCrCldBwb2D4LlZ1RBuk3f0gpIhy7/MGPSSiIan86so9mpmoDNdP77dv56+xzDH+lLrJX8YedXzwdOLaR570TxOS6MzBI9VunDr6LmtArLNa5x/ZLcXeDLwDl//EWPGBixySsGvK2wO6qCAXmVKwzNiRsEUV09wu7V395mxrtDa17oNk5eqsBjZ6T5+qj3WgZDO6YCYbCn2JA2ceG7AbLa9FoHQdzodt17GxvlulRyojSIqSCX2uIK+ttS6tzsz/2rzjEHJqExJ2zIE5YXjxibpCbFYBXkzkGl7CzLvD 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, Sep 12, 2024 at 02:56:44PM -0700, Yosry Ahmed wrote: > On Thu, Sep 12, 2024 at 2:51 PM Matthew Wilcox wrote: > > > > On Thu, Sep 12, 2024 at 12:04:18PM -0700, Yosry Ahmed wrote: > > > On Thu, Sep 12, 2024 at 11:56 AM Matthew Wilcox (Oracle) > > > wrote: > > > > > > > > Encode the type into the bottom four bits of page->private and the > > > > info into the remaining bits. Also turn the bootmem type into a > > > > named enum. > > > > > > @@ -21,9 +20,19 @@ enum { > > > > void __init register_page_bootmem_info_node(struct pglist_data *pgdat); > > > > > > > > void get_page_bootmem(unsigned long info, struct page *page, > > > > - unsigned long type); > > > > + enum bootmem_type type); > > > > void put_page_bootmem(struct page *page); > > > > > > > > +static inline enum bootmem_type bootmem_type(const struct page *page) > > > > +{ > > > > + return (unsigned long)page->private & 0xf; > > > > +} > > > > + > > > > +static inline unsigned long bootmem_info(const struct page *page) > > > > +{ > > > > + return (unsigned long)page->private >> 4; > > > > +} > > > > > > Would it be better to define the number of bits used for the type as a > > > macro and use it throughout (bootmem_type(), bootmem_info(), > > > get_page_bootmem())?. > > > > I think this is an adequate abstraction already. > > It's not a big deal, but if we want to change the number of bits later > we change one macro definition instead of 5 lines of code across two > different files. That doesn't sound like an obvious win to me. Look, if you care, send a patch. What I have is definitely an improvement over what is there now; you're just complaining that you think it could be even better, and I disagree that what you want will be better than what I have. The only reasonable approach is to merge my patch and then discuss yours separately.