Skip to contentSkip to conversation

ixgbe: define IXGBE_MAX_VFS_DRV_LIMIT macro and cleanup const 63

PATCH Superseded Ethan Zhao 3 participants 4 messages Dec 24, 2013 – Jan 15, 2014

Subsystems (3)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Ethan Zhao

author
#0 lore raw

PATCH v2 1/2 ixgbe: define IXGBE_MAX_VFS_DRV_LIMIT macro and cleanup const 63

Because ixgbe driver limit the max number of VF functions could be enabled to 63, so define one macro IXGBE_MAX_VFS_DRV_LIMIT and cleanup the const 63 in code.

v2: fix a typo.

---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c  | 4 ++--
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 5 +++--
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h | 5 +++++
 3 files changed, 10 insertions(+), 4 deletions(-)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +2 -2
index 0ade0cd..47e9b44 100644
@@ -4818,7 +4818,7 @@ static int ixgbe_sw_init(struct ixgbe_adapter *adapter)
 #ifdef CONFIG_PCI_IOV
 	/* assign number of SR-IOV VFs */
 	if (hw->mac.type != ixgbe_mac_82598EB)
-		adapter->num_vfs = (max_vfs > 63) ? 0 : max_vfs;
+		adapter->num_vfs = (max_vfs > IXGBE_MAX_VFS_DRV_LIMIT) ? 0 : max_vfs;
 
 #endif
 	/* enable itr by default in dynamic mode */
@@ -7640,7 +7640,7 @@ static int ixgbe_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	ixgbe_init_mbx_params_pf(hw);
 	memcpy(&hw->mbx.ops, ii->mbx_ops, sizeof(hw->mbx.ops));
 	ixgbe_enable_sriov(adapter);
-	pci_sriov_set_totalvfs(pdev, 63);
+	pci_sriov_set_totalvfs(pdev, IXGBE_MAX_VFS_DRV_LIMIT);
 skip_sriov:
 
 #endif
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c +3 -2
index 276d7b1..6925979 100644
@@ -152,7 +152,8 @@ void ixgbe_enable_sriov(struct ixgbe_adapter *adapter)
 		 * physical function.  If the user requests greater thn
 		 * 63 VFs then it is an error - reset to default of zero.
 		 */
-		adapter->num_vfs = min_t(unsigned int, adapter->num_vfs, 63);
+		adapter->num_vfs = min_t(unsigned int,
+					adapter->num_vfs, IXGBE_MAX_VFS_DRV_LIMIT);
 
 		err = pci_enable_sriov(adapter->pdev, adapter->num_vfs);
 		if (err) {
@@ -259,7 +260,7 @@ static int ixgbe_pci_sriov_enable(struct pci_dev *dev, int num_vfs)
 	 * PF.  The PCI bus driver already checks for other values out of
 	 * range.
 	 */
-	if (num_vfs > 63) {
+	if (num_vfs > IXGBE_MAX_VFS_DRV_LIMIT) {
 		err = -EPERM;
 		goto err_out;
 	}
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h +5 -0
index 4713f9f..2593666 100644
@@ -28,6 +28,11 @@
 #ifndef _IXGBE_SRIOV_H_
 #define _IXGBE_SRIOV_H_
 
+/*  ixgbe driver limit the max number of VFs could be enabled to
+ *  63 (IXGBE_MAX_VF_FUNCTIONS-1)
+ */
+#define IXGBE_MAX_VFS_DRV_LIMIT  (IXGBE_MAX_VF_FUNCTIONS-1)
+
 void ixgbe_restore_vf_multicasts(struct ixgbe_adapter *adapter);
 void ixgbe_msg_task(struct ixgbe_adapter *adapter);
 int ixgbe_vf_configuration(struct pci_dev *pdev, unsigned int event_mask);
Signature · 1 line
1.8.3.4 (Apple Git-47)
#1 lore raw
Quoted 6 lines · Ethan Zhao

Because ixgbe driver limit the max number of VF functions could be enabled
to 63, so define one macro IXGBE_MAX_VFS_DRV_LIMIT and cleanup the const 63
in code.

Quoted 8 lines

v2: fix a typo.

---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c  | 4 ++--
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 5 +++--
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h | 5 +++++
 3 files changed, 10 insertions(+), 4 deletions(-)

Added to my queue, thanks Ethan!

------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk

_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired

#2 lore raw
Quoted 9 lines · Jeff Kirsher
Quoted 8 lines · Ethan Zhao

Because ixgbe driver limit the max number of VF functions could be enabled
to 63, so define one macro IXGBE_MAX_VFS_DRV_LIMIT and cleanup the const 63
in code.

v2: fix a typo.

Quoted 8 lines
Quoted 6 lines
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c  | 4 ++--
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 5 +++--
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h | 5 +++++
 3 files changed, 10 insertions(+), 4 deletions(-)

Added to my queue, thanks Ethan!

Hi Ethan,

Did Jeff contact you about this failing to compile? I'm currently providing vacation covering for him and we found this was failing to compile just before he left. We captured the failure in our notes for this but there is no comment on if you were contacted or not.

Regardless, when I apply this patch (with or without 2-2) we get the following error on a compilation attempt: Here's the error:
--------------------------------------------------------
Here's the error:
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c: In function "ixgbe_sw_init":
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:5033: error: stray "\357" in program drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:5033: error: stray "\274" in program drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:5033: error: stray "\215" in program drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:5033: error: expected ")" before numeric constant drivers/net/ethernet/intel/ixgbe/ixgbe_main.c: In function "ixgbe_probe":
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:7977: error: stray "\357" in program drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:7977: error: stray "\274" in program drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:7977: error: stray "\215" in program drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:7977: error: expected ")" before numeric constant
make[5]: *** [drivers/net/ethernet/intel/ixgbe/ixgbe_main.o] Error 1 make[5]: *** Waiting for unfinished jobs....
make[4]: *** [drivers/net/ethernet/intel/ixgbe] Error 2 make[4]: *** Waiting for unfinished jobs....
make[3]: *** [drivers/net/ethernet/intel] Error 2
make[2]: *** [drivers/net/ethernet] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2
--------------------------------------------------------

Thanks,
Aaron

author
#3 lore raw

Aaron,
I will check the patch and make it pass the building, seems encoding issue.

Thanks,
Ethan

Quoted 63 lines · Aaron F
Quoted 9 lines · Jeff Kirsher
Quoted 8 lines · Ethan Zhao

Because ixgbe driver limit the max number of VF functions could be enabled
to 63, so define one macro IXGBE_MAX_VFS_DRV_LIMIT and cleanup the const 63
in code.

v2: fix a typo.

Quoted 8 lines
Quoted 6 lines
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c  | 4 ++--
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 5 +++--
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h | 5 +++++
 3 files changed, 10 insertions(+), 4 deletions(-)

Added to my queue, thanks Ethan!

Hi Ethan,

Did Jeff contact you about this failing to compile? I'm currently providing vacation covering for him and we found this was failing to compile just before he left. We captured the failure in our notes for this but there is no comment on if you were contacted or not.

Regardless, when I apply this patch (with or without 2-2) we get the following error on a compilation attempt: Here's the error:
--------------------------------------------------------
Here's the error:
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c: In function "ixgbe_sw_init":
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:5033: error: stray "\357" in program drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:5033: error: stray "\274" in program drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:5033: error: stray "\215" in program drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:5033: error: expected ")" before numeric constant drivers/net/ethernet/intel/ixgbe/ixgbe_main.c: In function "ixgbe_probe":
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:7977: error: stray "\357" in program drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:7977: error: stray "\274" in program drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:7977: error: stray "\215" in program drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:7977: error: expected ")" before numeric constant
make[5]: *** [drivers/net/ethernet/intel/ixgbe/ixgbe_main.o] Error 1 make[5]: *** Waiting for unfinished jobs....
make[4]: *** [drivers/net/ethernet/intel/ixgbe] Error 2 make[4]: *** Waiting for unfinished jobs....
make[3]: *** [drivers/net/ethernet/intel] Error 2
make[2]: *** [drivers/net/ethernet] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2
--------------------------------------------------------

Thanks,
Aaron