Prepare for Broadcom drivers
In preparation for the introduction of an out-of-tree version of the Broadcom NetXtreme-E device drivers, this commit prepares the kernel for the disablement of the CONFIG_BNXT kernel configuration option. Disabling CONFIG_BNXT (which will be done in a follow-up commit) removes the last in-tree user (i.e., 'select'or) of the kernel configuration option CONFIG_PAGE_POOL, which is not a user-selectable option. This causes the kernel's build system to automatically disable CONFIG_PAGE_POOL. However, drivers such as mlnx-ofa_kernel and the upcoming bnxt_en/bnxt_re make use of the functionality enabled by CONFIG_PAGE_POOL. Hence, this commit forcibly enables CONFIG_PAGE_POOL via a kernel patch to avoid the following module symbol check errors when building mlnx-ofa_kernel: MODPOST .../mlnx-ofa_kernel-5.3/obj/default/Module.symvers ERROR: modpost: "page_pool_update_nid" [.../mlx5_core.ko] undefined! ERROR: modpost: "page_pool_alloc_pages" [.../mlx5_core.ko] undefined! ERROR: modpost: "page_pool_create" [.../mlx5_core.ko] undefined! Unfortunately, simply adding CONFIG_PAGE_POOL=y to the kernel's configuration file (.config) file is insufficient. This is because it is a "hidden" option. Hence, there is a need to enable this option by default by patching the kernel. Testing: - An ISO image was successfully built using a monolithic incremental build procedure. - The ISO image was installed and bootstrapped in a virtual machine in All-in-One simplex configuration twice, once with the low-latency profile and once with the standard/non-low-latency profile. - The same experiment was repeated with a "standard" StarlingX system with two controllers and two compute nodes, with the compute nodes in low-latency mode. (The servers in this system are connected with Mellanox network adapters.) Story: 2009915 Task: 44762 Change-Id: Id60653442c7d2957f177ec0d8e1a78edf284825f Signed-off-by: M. Vefa Bicakci <vefa.bicakci@windriver.com>
This commit is contained in:
parent
1378583af6
commit
ec7d0d4768
@ -804,6 +804,7 @@ Patch24: 0025-driver-core-auxiliary-bus-Fix-calling-stage-for-auxi.patch
|
||||
Patch25: 0026-driver-core-auxiliary-bus-Remove-unneeded-module-bit.patch
|
||||
Patch26: 0027-driver-core-auxiliary-bus-Fix-memory-leak-when-drive.patch
|
||||
Patch27: 0028-driver-core-auxiliary-bus-Enable-by-default.patch
|
||||
Patch28: 0029-Enable-CONFIG_PAGE_POOL-by-default.patch
|
||||
|
||||
# END OF PATCH DEFINITIONS
|
||||
%endif
|
||||
|
@ -0,0 +1,36 @@
|
||||
From e469e34954dc8eb27b0f2fe521e18ac2e03dad61 Mon Sep 17 00:00:00 2001
|
||||
From: "M. Vefa Bicakci" <vefa.bicakci@windriver.com>
|
||||
Date: Thu, 3 Feb 2022 21:34:14 -0500
|
||||
Subject: [PATCH] Enable CONFIG_PAGE_POOL by default
|
||||
|
||||
CONFIG_PAGE_POOL is a "hidden" configuration option, which causes it to
|
||||
be enabled only when another kernel configuration option explicitly
|
||||
selects it. Specifying CONFIG_PAGE_POOL=y in .config does not have any
|
||||
effect.
|
||||
|
||||
Given that StarlingX disables all in-tree device drivers that explicitly
|
||||
select CONFIG_PAGE_POOL, and given that at least one out-of-tree kernel
|
||||
module (mlnx-ofa_kernel) requires the features made available by
|
||||
CONFIG_PAGE_POOL, this commit enables the configuration option in
|
||||
question by default.
|
||||
|
||||
Signed-off-by: M. Vefa Bicakci <vefa.bicakci@windriver.com>
|
||||
---
|
||||
net/Kconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/net/Kconfig b/net/Kconfig
|
||||
index 05b0f041f039..62443980ba6b 100644
|
||||
--- a/net/Kconfig
|
||||
+++ b/net/Kconfig
|
||||
@@ -437,6 +437,7 @@ config NET_DEVLINK
|
||||
|
||||
config PAGE_POOL
|
||||
bool
|
||||
+ default y
|
||||
|
||||
config FAILOVER
|
||||
tristate "Generic failover module"
|
||||
--
|
||||
2.29.2
|
||||
|
@ -835,6 +835,7 @@ Patch24: 0025-driver-core-auxiliary-bus-Fix-calling-stage-for-auxi.patch
|
||||
Patch25: 0026-driver-core-auxiliary-bus-Remove-unneeded-module-bit.patch
|
||||
Patch26: 0027-driver-core-auxiliary-bus-Fix-memory-leak-when-drive.patch
|
||||
Patch27: 0028-driver-core-auxiliary-bus-Enable-by-default.patch
|
||||
Patch28: 0029-Enable-CONFIG_PAGE_POOL-by-default.patch
|
||||
|
||||
# END OF PATCH DEFINITIONS
|
||||
%endif
|
||||
|
@ -0,0 +1,36 @@
|
||||
From 3ba9b411491dfdca077f7810cf474e82026f63c8 Mon Sep 17 00:00:00 2001
|
||||
From: "M. Vefa Bicakci" <vefa.bicakci@windriver.com>
|
||||
Date: Thu, 3 Feb 2022 21:34:14 -0500
|
||||
Subject: [PATCH] Enable CONFIG_PAGE_POOL by default
|
||||
|
||||
CONFIG_PAGE_POOL is a "hidden" configuration option, which causes it to
|
||||
be enabled only when another kernel configuration option explicitly
|
||||
selects it. Specifying CONFIG_PAGE_POOL=y in .config does not have any
|
||||
effect.
|
||||
|
||||
Given that StarlingX disables all in-tree device drivers that explicitly
|
||||
select CONFIG_PAGE_POOL, and given that at least one out-of-tree kernel
|
||||
module (mlnx-ofa_kernel) requires the features made available by
|
||||
CONFIG_PAGE_POOL, this commit enables the configuration option in
|
||||
question by default.
|
||||
|
||||
Signed-off-by: M. Vefa Bicakci <vefa.bicakci@windriver.com>
|
||||
---
|
||||
net/Kconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/net/Kconfig b/net/Kconfig
|
||||
index d6567162c1cf..add29b03a664 100644
|
||||
--- a/net/Kconfig
|
||||
+++ b/net/Kconfig
|
||||
@@ -437,6 +437,7 @@ config NET_DEVLINK
|
||||
|
||||
config PAGE_POOL
|
||||
bool
|
||||
+ default y
|
||||
|
||||
config FAILOVER
|
||||
tristate "Generic failover module"
|
||||
--
|
||||
2.29.2
|
||||
|
Loading…
x
Reference in New Issue
Block a user