#2 Disable CONFIG_PAGE_OWNER and CONFIG_PAGE_EXTENSION features
Closed 6 months ago by ignatenkobrain. Opened 10 months ago by ignatenkobrain.
rpms/ ignatenkobrain/kernel page-owner-disable  into  c8s

@@ -1361,6 +1361,8 @@ 

  # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set

  # CONFIG_OVERLAY_FS_XINO_AUTO is not set

  # CONFIG_PA12203001 is not set

+ # CONFIG_PAGE_EXTENSION is not set

+ # CONFIG_PAGE_OWNER is not set

  # CONFIG_PAGE_POISONING is not set

  # CONFIG_PANEL is not set

  # CONFIG_PANTHERLORD_FF is not set

@@ -4439,8 +4441,6 @@ 

  CONFIG_OVERLAY_FS=m

  CONFIG_PACKET=y

  CONFIG_PACKET_DIAG=m

- CONFIG_PAGE_EXTENSION=y

- CONFIG_PAGE_OWNER=y

  CONFIG_PAGE_TABLE_ISOLATION=y

  CONFIG_PANIC_ON_OOPS=y

  CONFIG_PANIC_ON_OOPS_VALUE=1

@@ -1420,6 +1420,8 @@ 

  # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set

  # CONFIG_OVERLAY_FS_XINO_AUTO is not set

  # CONFIG_PA12203001 is not set

+ # CONFIG_PAGE_EXTENSION is not set

+ # CONFIG_PAGE_OWNER is not set

  # CONFIG_PAGE_POISONING is not set

  # CONFIG_PANEL is not set

  # CONFIG_PANTHERLORD_FF is not set

@@ -4444,8 +4446,6 @@ 

  CONFIG_OVERLAY_FS=m

  CONFIG_PACKET=y

  CONFIG_PACKET_DIAG=m

- CONFIG_PAGE_EXTENSION=y

- CONFIG_PAGE_OWNER=y

  CONFIG_PAGE_TABLE_ISOLATION=y

  CONFIG_PANIC_ON_OOPS=y

  CONFIG_PANIC_TIMEOUT=0

@@ -1240,6 +1240,8 @@ 

  # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set

  # CONFIG_OVERLAY_FS_XINO_AUTO is not set

  # CONFIG_PA12203001 is not set

+ # CONFIG_PAGE_EXTENSION is not set

+ # CONFIG_PAGE_OWNER is not set

  # CONFIG_PAGE_POISONING is not set

  # CONFIG_PANEL is not set

  # CONFIG_PANIC_ON_OOPS is not set

@@ -4116,8 +4118,6 @@ 

  CONFIG_OVERLAY_FS=m

  CONFIG_PACKET=y

  CONFIG_PACKET_DIAG=m

- CONFIG_PAGE_EXTENSION=y

- CONFIG_PAGE_OWNER=y

  CONFIG_PAGE_TABLE_ISOLATION=y

  CONFIG_PANIC_TIMEOUT=180

  CONFIG_PAPR_SCM=m

@@ -1302,6 +1302,8 @@ 

  # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set

  # CONFIG_OVERLAY_FS_XINO_AUTO is not set

  # CONFIG_PA12203001 is not set

+ # CONFIG_PAGE_EXTENSION is not set

+ # CONFIG_PAGE_OWNER is not set

  # CONFIG_PAGE_POISONING is not set

  # CONFIG_PANEL is not set

  # CONFIG_PANTHERLORD_FF is not set

@@ -4119,8 +4121,6 @@ 

  CONFIG_OVERLAY_FS=m

  CONFIG_PACKET=y

  CONFIG_PACKET_DIAG=m

- CONFIG_PAGE_EXTENSION=y

- CONFIG_PAGE_OWNER=y

  CONFIG_PAGE_TABLE_ISOLATION=y

  CONFIG_PANIC_ON_OOPS=y

  CONFIG_PANIC_TIMEOUT=180

@@ -1347,6 +1347,8 @@ 

  # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set

  # CONFIG_OVERLAY_FS_XINO_AUTO is not set

  # CONFIG_PA12203001 is not set

+ # CONFIG_PAGE_EXTENSION is not set

+ # CONFIG_PAGE_OWNER is not set

  # CONFIG_PAGE_POISONING is not set

  # CONFIG_PANEL is not set

  # CONFIG_PANIC_ON_OOPS is not set

@@ -4103,8 +4105,6 @@ 

  CONFIG_PACKET=y

  CONFIG_PACKET_DIAG=m

  CONFIG_PACK_STACK=y

- CONFIG_PAGE_EXTENSION=y

- CONFIG_PAGE_OWNER=y

  CONFIG_PAGE_TABLE_ISOLATION=y

  CONFIG_PANIC_TIMEOUT=0

  CONFIG_PARPORT_1284=y

file modified
+2 -2

@@ -1408,6 +1408,8 @@ 

  # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set

  # CONFIG_OVERLAY_FS_XINO_AUTO is not set

  # CONFIG_PA12203001 is not set

+ # CONFIG_PAGE_EXTENSION is not set

+ # CONFIG_PAGE_OWNER is not set

  # CONFIG_PAGE_POISONING is not set

  # CONFIG_PANEL is not set

  # CONFIG_PANTHERLORD_FF is not set

@@ -4105,8 +4107,6 @@ 

  CONFIG_PACKET=y

  CONFIG_PACKET_DIAG=m

  CONFIG_PACK_STACK=y

- CONFIG_PAGE_EXTENSION=y

- CONFIG_PAGE_OWNER=y

  CONFIG_PAGE_TABLE_ISOLATION=y

  CONFIG_PANIC_ON_OOPS=y

  CONFIG_PANIC_TIMEOUT=0

@@ -1249,6 +1249,8 @@ 

  # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set

  # CONFIG_OVERLAY_FS_XINO_AUTO is not set

  # CONFIG_PA12203001 is not set

+ # CONFIG_PAGE_EXTENSION is not set

+ # CONFIG_PAGE_OWNER is not set

  # CONFIG_PAGE_POISONING is not set

  # CONFIG_PANEL is not set

  # CONFIG_PANIC_ON_OOPS is not set

@@ -4360,8 +4362,6 @@ 

  CONFIG_OVERLAY_FS=m

  CONFIG_PACKET=y

  CONFIG_PACKET_DIAG=m

- CONFIG_PAGE_EXTENSION=y

- CONFIG_PAGE_OWNER=y

  CONFIG_PAGE_TABLE_ISOLATION=y

  CONFIG_PANASONIC_LAPTOP=m

  CONFIG_PANIC_TIMEOUT=0

file modified
+2 -2

@@ -1308,6 +1308,8 @@ 

  # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set

  # CONFIG_OVERLAY_FS_XINO_AUTO is not set

  # CONFIG_PA12203001 is not set

+ # CONFIG_PAGE_EXTENSION is not set

+ # CONFIG_PAGE_OWNER is not set

  # CONFIG_PAGE_POISONING is not set

  # CONFIG_PANEL is not set

  # CONFIG_PANTHERLORD_FF is not set

@@ -4361,8 +4363,6 @@ 

  CONFIG_OVERLAY_FS=m

  CONFIG_PACKET=y

  CONFIG_PACKET_DIAG=m

- CONFIG_PAGE_EXTENSION=y

- CONFIG_PAGE_OWNER=y

  CONFIG_PAGE_TABLE_ISOLATION=y

  CONFIG_PANASONIC_LAPTOP=m

  CONFIG_PANIC_ON_OOPS=y

While it might be beneficial to debug memory leaks, having to reserve
~2.15% of whole memory is not something that could be accepted
everywhere, especially in installations where you don't have any extra
memory and you don't care about debugging drivers memory leaks.

That is not really a problem. Quoting from:

https://www.kernel.org/doc/Documentation/vm/page_owner.txt

"page owner is disabled in default. So, if you'd like to use it, you need
to add "page_owner=on" into your boot cmdline. If the kernel is built
with page owner and page owner is disabled in runtime due to no enabling
boot option, runtime overhead is marginal. If disabled in runtime, it
doesn't require memory to store owner information, so there is no runtime
memory overhead."

Well, that's not how it works in reality on CentOS 8 Stream... @toracat

Could you elaborate? How would it work in reality on CentOS 8 Stream?

Thanks for the potential contribution @ignatenkobrain. Sorry for the delay in response, we're still working out the kinks with our contribution process. CentOS Stream 8 is still built "inside out". What I mean by that is that there is still an internal dist-git and build system where RHEL builds are done, before being exported automatically to this dist-git to be built in the CentOS build system. This means that we can't merge this pull request directly. We can however use it to demonstrate changes and generate a patch file that can be applied to the internal dist-git by RHEL maintainers, if they decide to accept the change. To get their attention, would you mind filing a bugzilla describing this change in detail? This link will pre-populate the necessary fields. Please also link to this pull request in that bugzilla.

https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%208&version=CentOS%20Stream&component=kernel

This will work much better in CentOS Stream 9, as we're moving to having the RHEL maintainers work directly in a public dist-git so that can merge pull requests from contributors.

Seems it only negatively affects CentOS 7 but not CentOS 8.

Pull-Request has been closed by ignatenkobrain

6 months ago