From: "David Hildenbrand (Arm)" <david@kernel.org>
To: Yuvraj Sakshith <yuvraj.sakshith@oss.qualcomm.com>,
Michael Kelley <mhklinux@outlook.com>
Cc: "akpm@linux-foundation.org" <akpm@linux-foundation.org>,
"mst@redhat.com" <mst@redhat.com>,
"kys@microsoft.com" <kys@microsoft.com>,
"haiyangz@microsoft.com" <haiyangz@microsoft.com>,
"wei.liu@kernel.org" <wei.liu@kernel.org>,
"decui@microsoft.com" <decui@microsoft.com>,
"longli@microsoft.com" <longli@microsoft.com>,
"jasowang@redhat.com" <jasowang@redhat.com>,
"xuanzhuo@linux.alibaba.com" <xuanzhuo@linux.alibaba.com>,
"eperezma@redhat.com" <eperezma@redhat.com>,
"lorenzo.stoakes@oracle.com" <lorenzo.stoakes@oracle.com>,
"Liam.Howlett@oracle.com" <Liam.Howlett@oracle.com>,
"vbabka@suse.cz" <vbabka@suse.cz>,
"rppt@kernel.org" <rppt@kernel.org>,
"surenb@google.com" <surenb@google.com>,
"mhocko@suse.com" <mhocko@suse.com>,
"jackmanb@google.com" <jackmanb@google.com>,
"hannes@cmpxchg.org" <hannes@cmpxchg.org>,
"ziy@nvidia.com" <ziy@nvidia.com>,
"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
"virtualization@lists.linux.dev" <virtualization@lists.linux.dev>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v1 4/4] page_reporting: change PAGE_REPORTING_DEFAULT_ORDER to -1
Date: Mon, 2 Mar 2026 09:09:13 +0100 [thread overview]
Message-ID: <a0133403-8ce3-45a4-987f-96fb7421f920@kernel.org> (raw)
In-Reply-To: <aaVDiwEPl5t2UPX4@hu-ysakshit-lv.qualcomm.com>
On 3/2/26 09:00, Yuvraj Sakshith wrote:
> On Mon, Mar 02, 2026 at 08:42:57AM +0100, David Hildenbrand (Arm) wrote:
>> On 3/2/26 06:25, Michael Kelley wrote:
>>> From: Yuvraj Sakshith <yuvraj.sakshith@oss.qualcomm.com> Sent: Sunday, March 1, 2026 7:33 PM
>>>
>>> I don't think what you propose is correct. The purpose of testing
>>> page_reporting_order for -1 is to see if a page reporting order has
>>> been specified on the kernel boot line. If it has been specified, then
>>> the page reporting order specified in the call to page_reporting_register()
>>> [either a specific value or the default] is ignored and the kernel boot
>>> line value prevails. But if page_reporting_order is -1 here, then
>>> no kernel boot line value was specified, and the value passed to
>>> page_reporting_register() should prevail.
>>>
>>> With this in mind, substituting PAGE_REPORTING_DEFAULT_ORDER
>>> for the -1 in the test doesn’t exactly make sense to me. The -1 in the
>>> test doesn't have quite the same meaning as the -1 for
>>> PAGE_REPORTING_DEFAULT_ORDER. You could even use -2 for
>>> the initial value of page_reporting_order, and here in the test, in
>>> order to make that distinction obvious. Or use a separate symbolic
>>> name like PAGE_REPORTING_ORDER_NOT_SET.
>>
> Option 1:
>
> if (page_reporting_order == PAGE_REPORTING_DEFAULT_ORDER) {
> if (page_reporting_order != PAGE_REPORTING_DEFAULT_ORDER
> && prdev->order <= MAX_PAGE_ORDER) {
> page_reporting_order = prdev->order;
> } else {
> page_reporting_order = pageblock_order;
> }
> }
>
> Option 2:
>
> if (page_reporting_order == PAGE_REPORTING_ORDER_NOT_SET) {
> if (page_reporting_order != PAGE_REPORTING_DEFAULT_ORDER
> && prdev->order <= MAX_PAGE_ORDER) {
> page_reporting_order = prdev->order;
> } else {
> page_reporting_order = pageblock_order;
> }
> }
>
>
>> I don't really see a difference between "PAGE_REPORTING_DEFAULT_ORDER"
>> and "PAGE_REPORTING_ORDER_NOT_SET" that would warrant a split and adding
>> confusion for the page-reporting drivers.
>>
>> In both cases, we want "no special requirement, just use the default".
>> Maybe we can use a better name to express that.
>
> Agreed.
>
> If we were to read this code without context, wouldn't it be confusing as to
> why PAGE_REPORTING_DEFAULT_ORDER is being checked in the first place?
I proposed in one of the last mail that
"PAGE_REPORTING_USE_DEFAULT_ORDER" could be clearer, stating that it's
not really an order just yet. Maybe just using
PAGE_REPORTING_ORDER_UNSET might be clearer.
>
> Option 1 checks if page_reporting_order is equal to PAGE_REPORTING_DEFAULT_ORDER
> and then immediately checks if its not equal to it. Which is a bit confusing..
Because it's wrong? :) We're not supposed to check page_reporting_order
a second time. Assume we
s/PAGE_REPORTING_ORDER/PAGE_REPORTING_ORDER_UNSET/ and actually check
prdev->order:
if (page_reporting_order == PAGE_REPORTING_ORDER_UNSET) {
if (prdev->order != PAGE_REPORTING_ORDER_UNSET &&
prdev->order <= MAX_PAGE_ORDER) {
page_reporting_order = prdev->order;
} else {
page_reporting_order = pageblock_order;
}
}
--
Cheers,
David
next prev parent reply other threads:[~2026-03-02 8:09 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-27 14:06 [PATCH v1 0/4] Allow order zero pages in page reporting Yuvraj Sakshith
2026-02-27 14:06 ` [PATCH v1 1/4] page_reporting: add PAGE_REPORTING_DEFAULT_ORDER Yuvraj Sakshith
2026-02-27 20:45 ` David Hildenbrand (Arm)
2026-02-27 14:06 ` [PATCH v1 2/4] virtio_balloon: set default page reporting order Yuvraj Sakshith
2026-02-27 20:46 ` David Hildenbrand (Arm)
2026-02-27 14:06 ` [PATCH v1 3/4] hv_balloon: " Yuvraj Sakshith
2026-02-27 14:06 ` [PATCH v1 4/4] page_reporting: change PAGE_REPORTING_DEFAULT_ORDER to -1 Yuvraj Sakshith
2026-02-27 20:50 ` David Hildenbrand (Arm)
2026-03-02 3:33 ` Yuvraj Sakshith
2026-03-02 5:25 ` Michael Kelley
2026-03-02 7:42 ` David Hildenbrand (Arm)
2026-03-02 8:00 ` Yuvraj Sakshith
2026-03-02 8:09 ` David Hildenbrand (Arm) [this message]
2026-03-02 8:54 ` Yuvraj Sakshith
2026-03-02 9:18 ` David Hildenbrand (Arm)
2026-03-02 9:50 ` Yuvraj Sakshith
2026-02-27 20:44 ` [PATCH v1 0/4] Allow order zero pages in page reporting David Hildenbrand (Arm)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a0133403-8ce3-45a4-987f-96fb7421f920@kernel.org \
--to=david@kernel.org \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=decui@microsoft.com \
--cc=eperezma@redhat.com \
--cc=haiyangz@microsoft.com \
--cc=hannes@cmpxchg.org \
--cc=jackmanb@google.com \
--cc=jasowang@redhat.com \
--cc=kys@microsoft.com \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=longli@microsoft.com \
--cc=lorenzo.stoakes@oracle.com \
--cc=mhklinux@outlook.com \
--cc=mhocko@suse.com \
--cc=mst@redhat.com \
--cc=rppt@kernel.org \
--cc=surenb@google.com \
--cc=vbabka@suse.cz \
--cc=virtualization@lists.linux.dev \
--cc=wei.liu@kernel.org \
--cc=xuanzhuo@linux.alibaba.com \
--cc=yuvraj.sakshith@oss.qualcomm.com \
--cc=ziy@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox