2024-02-13 22:31:00

by Jon Maxwell

[permalink] [raw]
Subject: [net-next v3] intel: make module parameters readable in sys filesystem

Linux users sometimes need an easy way to check current values of module
parameters. For example the module may be manually reloaded with different
parameters. Make these visible and readable in the /sys filesystem to allow
that.

Signed-off-by: Jon Maxwell <[email protected]>
---
V2: Remove the "debug" module parameter as per Andrew Lunns suggestion.
V3: Correctly format v2.
drivers/net/ethernet/intel/e100.c | 4 ++--
drivers/net/ethernet/intel/igb/igb_main.c | 2 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c
index 01f0f12035caeb7ca1657387538fcebf5c608322..3fcb8daaa2437fa3fe7b98ba9f606dbbb1844e58 100644
--- a/drivers/net/ethernet/intel/e100.c
+++ b/drivers/net/ethernet/intel/e100.c
@@ -171,8 +171,8 @@ static int debug = 3;
static int eeprom_bad_csum_allow = 0;
static int use_io = 0;
module_param(debug, int, 0);
-module_param(eeprom_bad_csum_allow, int, 0);
-module_param(use_io, int, 0);
+module_param(eeprom_bad_csum_allow, int, 0444);
+module_param(use_io, int, 0444);
MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)");
MODULE_PARM_DESC(eeprom_bad_csum_allow, "Allow bad eeprom checksums");
MODULE_PARM_DESC(use_io, "Force use of i/o access mode");
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 4df8d4153aa5f5ce7ac9dd566180d552be9f5b4f..31d0a43a908c0a4eab4fe1147064a5f5677c9f0b 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -202,7 +202,7 @@ static struct notifier_block dca_notifier = {
#endif
#ifdef CONFIG_PCI_IOV
static unsigned int max_vfs;
-module_param(max_vfs, uint, 0);
+module_param(max_vfs, uint, 0444);
MODULE_PARM_DESC(max_vfs, "Maximum number of virtual functions to allocate per physical function");
#endif /* CONFIG_PCI_IOV */

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index bd541527c8c74d6922e8683e2f4493d9b361f67b..9d26ff82a397d4939cf7adea78c217e4071aa166 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -147,13 +147,13 @@ static struct notifier_block dca_notifier = {

#ifdef CONFIG_PCI_IOV
static unsigned int max_vfs;
-module_param(max_vfs, uint, 0);
+module_param(max_vfs, uint, 0444);
MODULE_PARM_DESC(max_vfs,
"Maximum number of virtual functions to allocate per physical function - default is zero and maximum value is 63. (Deprecated)");
#endif /* CONFIG_PCI_IOV */

static bool allow_unsupported_sfp;
-module_param(allow_unsupported_sfp, bool, 0);
+module_param(allow_unsupported_sfp, bool, 0444);
MODULE_PARM_DESC(allow_unsupported_sfp,
"Allow unsupported and untested SFP+ modules on 82599-based adapters");

--
2.39.3



2024-02-14 07:26:07

by Paul Menzel

[permalink] [raw]
Subject: Re: [Intel-wired-lan] [net-next v3] intel: make module parameters readable in sys filesystem

Dear Jon,


Thank you very much for your patch.

Am 13.02.24 um 11:23 PM schrieb Jon Maxwell:
> Linux users sometimes need an easy way to check current values of module
> parameters. For example the module may be manually reloaded with different
> parameters. Make these visible and readable in the /sys filesystem to allow
> that.
>
> Signed-off-by: Jon Maxwell <[email protected]>
> ---
> V2: Remove the "debug" module parameter as per Andrew Lunns suggestion.

Please mention this in the commit message, why `debug` should not be
exposed.


Kind regards,

Paul


> V3: Correctly format v2.
> drivers/net/ethernet/intel/e100.c | 4 ++--
> drivers/net/ethernet/intel/igb/igb_main.c | 2 +-
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 4 ++--
> 3 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c
> index 01f0f12035caeb7ca1657387538fcebf5c608322..3fcb8daaa2437fa3fe7b98ba9f606dbbb1844e58 100644
> --- a/drivers/net/ethernet/intel/e100.c
> +++ b/drivers/net/ethernet/intel/e100.c
> @@ -171,8 +171,8 @@ static int debug = 3;
> static int eeprom_bad_csum_allow = 0;
> static int use_io = 0;
> module_param(debug, int, 0);
> -module_param(eeprom_bad_csum_allow, int, 0);
> -module_param(use_io, int, 0);
> +module_param(eeprom_bad_csum_allow, int, 0444);
> +module_param(use_io, int, 0444);
> MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)");
> MODULE_PARM_DESC(eeprom_bad_csum_allow, "Allow bad eeprom checksums");
> MODULE_PARM_DESC(use_io, "Force use of i/o access mode");
> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
> index 4df8d4153aa5f5ce7ac9dd566180d552be9f5b4f..31d0a43a908c0a4eab4fe1147064a5f5677c9f0b 100644
> --- a/drivers/net/ethernet/intel/igb/igb_main.c
> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
> @@ -202,7 +202,7 @@ static struct notifier_block dca_notifier = {
> #endif
> #ifdef CONFIG_PCI_IOV
> static unsigned int max_vfs;
> -module_param(max_vfs, uint, 0);
> +module_param(max_vfs, uint, 0444);
> MODULE_PARM_DESC(max_vfs, "Maximum number of virtual functions to allocate per physical function");
> #endif /* CONFIG_PCI_IOV */
>
> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> index bd541527c8c74d6922e8683e2f4493d9b361f67b..9d26ff82a397d4939cf7adea78c217e4071aa166 100644
> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> @@ -147,13 +147,13 @@ static struct notifier_block dca_notifier = {
>
> #ifdef CONFIG_PCI_IOV
> static unsigned int max_vfs;
> -module_param(max_vfs, uint, 0);
> +module_param(max_vfs, uint, 0444);
> MODULE_PARM_DESC(max_vfs,
> "Maximum number of virtual functions to allocate per physical function - default is zero and maximum value is 63. (Deprecated)");
> #endif /* CONFIG_PCI_IOV */
>
> static bool allow_unsupported_sfp;
> -module_param(allow_unsupported_sfp, bool, 0);
> +module_param(allow_unsupported_sfp, bool, 0444);
> MODULE_PARM_DESC(allow_unsupported_sfp,
> "Allow unsupported and untested SFP+ modules on 82599-based adapters");
>

2024-02-14 07:33:39

by Heiner Kallweit

[permalink] [raw]
Subject: Re: [Intel-wired-lan] [net-next v3] intel: make module parameters readable in sys filesystem

On 14.02.2024 08:22, Paul Menzel wrote:
> Dear Jon,
>
>
> Thank you very much for your patch.
>
> Am 13.02.24 um 11:23 PM schrieb Jon Maxwell:
>> Linux users sometimes need an easy way to check current values of module
>> parameters. For example the module may be manually reloaded with different
>> parameters. Make these visible and readable in the /sys filesystem to allow
>> that.
>>
>> Signed-off-by: Jon Maxwell <[email protected]>
>> ---
>> V2: Remove the "debug" module parameter as per Andrew Lunns suggestion.
>
> Please mention this in the commit message, why `debug` should not be exposed.
>
>
> Kind regards,
>
> Paul
>
>
>> V3: Correctly format v2.
>>   drivers/net/ethernet/intel/e100.c             | 4 ++--
>>   drivers/net/ethernet/intel/igb/igb_main.c     | 2 +-
>>   drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 4 ++--
>>   3 files changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c
>> index 01f0f12035caeb7ca1657387538fcebf5c608322..3fcb8daaa2437fa3fe7b98ba9f606dbbb1844e58 100644
>> --- a/drivers/net/ethernet/intel/e100.c
>> +++ b/drivers/net/ethernet/intel/e100.c
>> @@ -171,8 +171,8 @@ static int debug = 3;
>>   static int eeprom_bad_csum_allow = 0;
>>   static int use_io = 0;
>>   module_param(debug, int, 0);
>> -module_param(eeprom_bad_csum_allow, int, 0);
>> -module_param(use_io, int, 0);
>> +module_param(eeprom_bad_csum_allow, int, 0444);
>> +module_param(use_io, int, 0444);
>>   MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)");
>>   MODULE_PARM_DESC(eeprom_bad_csum_allow, "Allow bad eeprom checksums");
>>   MODULE_PARM_DESC(use_io, "Force use of i/o access mode");
>> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
>> index 4df8d4153aa5f5ce7ac9dd566180d552be9f5b4f..31d0a43a908c0a4eab4fe1147064a5f5677c9f0b 100644
>> --- a/drivers/net/ethernet/intel/igb/igb_main.c
>> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
>> @@ -202,7 +202,7 @@ static struct notifier_block dca_notifier = {
>>   #endif
>>   #ifdef CONFIG_PCI_IOV
>>   static unsigned int max_vfs;
>> -module_param(max_vfs, uint, 0);
>> +module_param(max_vfs, uint, 0444);
>>   MODULE_PARM_DESC(max_vfs, "Maximum number of virtual functions to allocate per physical function");
>>   #endif /* CONFIG_PCI_IOV */
>>   diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>> index bd541527c8c74d6922e8683e2f4493d9b361f67b..9d26ff82a397d4939cf7adea78c217e4071aa166 100644
>> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>> @@ -147,13 +147,13 @@ static struct notifier_block dca_notifier = {
>>     #ifdef CONFIG_PCI_IOV
>>   static unsigned int max_vfs;
>> -module_param(max_vfs, uint, 0);
>> +module_param(max_vfs, uint, 0444);
>>   MODULE_PARM_DESC(max_vfs,
>>            "Maximum number of virtual functions to allocate per physical function - default is zero and maximum value is 63. (Deprecated)");

I doubt it makes sense to expose a deprecated parameter.

>>   #endif /* CONFIG_PCI_IOV */
>>     static bool allow_unsupported_sfp;
>> -module_param(allow_unsupported_sfp, bool, 0);
>> +module_param(allow_unsupported_sfp, bool, 0444);
>>   MODULE_PARM_DESC(allow_unsupported_sfp,
>>            "Allow unsupported and untested SFP+ modules on 82599-based adapters");
>>  
>