Re: [PATCH v3 3/5] nvme: add the NVME_ENABLE_MULTIPATH_PARAM config option
From: John Meneghini
Date: Mon Mar 31 2025 - 10:29:18 EST
On 3/28/25 3:49 PM, Caleb Sander Mateos wrote:
bool multipath = true;
+#ifdef CONFIG_NVME_ENABLE_MULTIPATH_PARAM
module_param(multipath, bool, 0444);
MODULE_PARM_DESC(multipath,
"turn on native support for multiple controllers per subsystem");
+#endif
If CONFIG_NVME_ENABLE_MULTIPATH_PARAM is disabled, could you #define
multipath false in place of the global variable? That would allow the
compiler to optimize out the multipath checks and the resulting dead
code.
If we #define multipath to be false that would permanently disable the multipath code
when CONFIG_NVME_ENABLE_MULTIPATH_PARAM=n, and this is not what we want. The purpose
of CONFIG_NVME_ENABLE_MULTIPATH_PARAM=n is to simply remove the core_nvme.multipath
parameter from the kernel so the user no longer has the ability to change
the bool multipath variable. We want multipath to be true.
There should be no change in the multipathing policy or code by
enabling or disabling CONFIG_NVME_ENABLE_MULTIPATH_PARAM.
If you want to compile out the mulipath code you should set CONFIG_NVME_ENABLE_MULTIPATH=n.
/John