Skip to contentSkip to conversation

Add max_bonds kernel parameter

PATCH In review Phil Oester 2 participants 3 messages Feb 29, 2008

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Add max_bonds kernel parameter

commit eb8694ab0a53343ebb45abeb2a9568d6267fa2f2

Author: Phil Oester <[email protected]>
Date:   Fri Feb 29 13:26:34 2008 -0500

The bonding driver (and initscripts) seem to assume everyone loads bonding as a module. So when compiled into the kernel, changing the max_bonds parameter can only be done in the source code.

Below adds a kernel command line parameter to change max_bonds when compiled in.

Phil

Documentation/kernel-parameters.txt +4 -0
index 9a5b665..4b21045 100644
@@ -1071,6 +1071,10 @@ and is between 256 and 4096 characters. It is defined in the file
 			(machvec) in a generic kernel.
 			Example: machvec=hpzx1_swiotlb
 
+	max_bonds=	[NET] Maximum number of bonded devices which can be
+			created and the default number of devices which
+			will be created automatically at boot.
+
 	max_loop=	[LOOP] Maximum number of loopback devices that can
 			be mounted
 			Format: <1-256>
drivers/net/bonding/bond_main.c +9 -0
index 0942d82..64597d8 100644
@@ -5032,3 +5032,12 @@ MODULE_SUPPORTED_DEVICE("most ethernet devices");
  * End:
  */
 
+#ifndef MODULE
+static int __init max_bonds_setup(char *str)
+{
+        max_bonds = simple_strtol(str, NULL, 0);
+        return 1;
+}
+
+__setup("max_bonds=", max_bonds_setup);
+#endif
#1 lore raw

Phil Oester <[email protected]> wrote:
[...]

Quoted 3 lines

The bonding driver (and initscripts) seem to assume everyone loads bonding as a module. So when compiled into the kernel, changing the max_bonds parameter can only be done in the source code.

The kernel should already handle options for compiled-in
modules. For bonding, you'd put something like "bonding.max_bonds=3" on the kernel boot line. No need to patch bonding for this. This is described in Documentation/kernel-parameters.txt (right at the top).

On your other patch, I don't see a big issue with allowing
max_bonds to be zero; I'll have a look at the details and test it out.

	-J

---
-Jay Vosburgh, IBM Linux Technology Center, [email protected]

#2 lore raw
Quoted 4 lines · Jay Vosburgh

The kernel should already handle options for compiled-in
modules. For bonding, you'd put something like "bonding.max_bonds=3" on the kernel boot line. No need to patch bonding for this. This is described in Documentation/kernel-parameters.txt (right at the top).

Duh...guess I should've read the file I was patching. :-/

Quoted 2 lines

On your other patch, I don't see a big issue with allowing
max_bonds to be zero; I'll have a look at the details and test it out.

Thanks. Initscripts doesn't like it when it is set to zero, but at least we can hopefully get the kernel to allow it, then fixup initscipts later.

Phil