M. Vefa Bicakci ec7d0d4768 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>
2022-03-23 10:19:57 -04:00
..
2022-03-23 10:19:57 -04:00
2021-07-26 02:40:01 -04:00
2022-03-23 10:19:57 -04:00