On 9 Aug 2021, at 10:12, Alexander Duyck wrote:
On Mon, Aug 9, 2021 at 12:25 AM David Hildenbrand [off-list ref] wrote:
quoted
On 05.08.21 21:02, Zi Yan wrote:
quoted
From: Zi Yan <ziy@nvidia.com>
page_reporting_order was set to MAX_ORDER, which is always smaller than
a memory section size. An upcoming change will make MAX_ORDER larger
than a memory section size. Set page_reporting_order to
PFN_SECTION_SHIFT to match existing size assumption.
Signed-off-by: Zi Yan <ziy@nvidia.com>
Cc: David Hildenbrand <redacted>
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
---
mm/page_reporting.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/mm/page_reporting.c b/mm/page_reporting.c
index 382958eef8a9..dc4a2d699862 100644
--- a/mm/page_reporting.c
+++ b/mm/page_reporting.c
@@ -11,7 +11,8 @@
#include "page_reporting.h"
#include "internal.h"
-unsigned int page_reporting_order = MAX_ORDER;
+/* Set page_reporting_order at section size */
+unsigned int page_reporting_order = PFN_SECTION_SHIFT;
module_param(page_reporting_order, uint, 0644);
MODULE_PARM_DESC(page_reporting_order, "Set page reporting order");
If you look closely, this is only a placeholder and will get overwritten
in page_reporting_register(). I don't recall why we have the module
parameter at all. Most probably, to adjust the reporting order after we
already registered a user. Can't we just initialize that to 0 ?
Yeah, it is pretty much there for debugging in the event that we are
on an architecture that is misconfigured.
MAX_ORDER is changed to a boot time variable in Patch 15, thus cannot be used
for page_reporting_order initialization after that.
Thanks for David’s explanation. I will initialize page_reporting_order to 0
and fix the commit message.
—
Best Regards,
Yan, Zi