Re: Number of the max supported VFs are different

2022-03-07 Thread Yalan Zhang
Hi Michal,

Get it, Thank you!


On Mon, Mar 7, 2022 at 7:36 PM Michal Prívozník  wrote:

> On 3/3/22 03:55, Yalan Zhang wrote:
> > Hi there,
> >
> > I have an Intel X520 network card, and I find the max supported VFs are
> > different.
> > Please check below outputs:
> >
> > # lspci -vvv -s 04:00.0
> > 04:00.0 Ethernet controller: Intel Corporation Ethernet 10G 2P X520
> > Adapter (rev 01)
> > ...
> >  Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV)
> > IOVCap: Migration-, Interrupt Message Number: 000
> > IOVCtl: Enable- Migration- Interrupt- MSE- ARIHierarchy+
> > IOVSta: Migration-
> > ** Initial VFs: 64, Total VFs: 64**, Number of VFs: 0, Function
> > Dependency Link: 00
> > VF offset: 128, stride: 2, Device ID: 10ed
> > Supported Page Size: 0553, System Page Size: 0001
> > Region 0: Memory at 9440 (64-bit, prefetchable)
> > Region 3: Memory at 9450 (64-bit, prefetchable)
> > VF Migration: offset: , BIR: 0
> > Kernel driver in use: ixgbe
> > Kernel modules: ixgbe
> >
> > # cat /sys/class/net/enp4s0f0/device/sriov_totalvfs
> > 63
> >
> > # echo 64 > /sys/class/net/enp4s0f0/device/sriov_numvfs
> > -bash: echo: write error: Numerical result out of range
> > # echo 63 > /sys/class/net/enp4s0f0/device/sriov_numvfs
> > # cat /sys/class/net/enp4s0f0/device/sriov_numvfs
> > 63
> >
> > The lspci command says the Total VFs supported is 64, while in the file
> > "sriov_totalvfs"  says it's 63.
> > And the sriov_numvfs file will take precedence.
> > Why are the numbers different?  Just a little curious.
>
> I believe this comes from the driver implementation:
>
> /*  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)
>
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h#n7
>
> Michal
>
>


Re: Number of the max supported VFs are different

2022-03-07 Thread Michal Prívozník
On 3/3/22 03:55, Yalan Zhang wrote:
> Hi there,
> 
> I have an Intel X520 network card, and I find the max supported VFs are
> different.
> Please check below outputs:
> 
> # lspci -vvv -s 04:00.0
> 04:00.0 Ethernet controller: Intel Corporation Ethernet 10G 2P X520
> Adapter (rev 01)
> ...
>  Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV)
> IOVCap: Migration-, Interrupt Message Number: 000
> IOVCtl: Enable- Migration- Interrupt- MSE- ARIHierarchy+
> IOVSta: Migration-
> ** Initial VFs: 64, Total VFs: 64**, Number of VFs: 0, Function
> Dependency Link: 00
> VF offset: 128, stride: 2, Device ID: 10ed
> Supported Page Size: 0553, System Page Size: 0001
> Region 0: Memory at 9440 (64-bit, prefetchable)
> Region 3: Memory at 9450 (64-bit, prefetchable)
> VF Migration: offset: , BIR: 0
> Kernel driver in use: ixgbe
> Kernel modules: ixgbe
> 
> # cat /sys/class/net/enp4s0f0/device/sriov_totalvfs
> 63
> 
> # echo 64 > /sys/class/net/enp4s0f0/device/sriov_numvfs
> -bash: echo: write error: Numerical result out of range
> # echo 63 > /sys/class/net/enp4s0f0/device/sriov_numvfs
> # cat /sys/class/net/enp4s0f0/device/sriov_numvfs
> 63
> 
> The lspci command says the Total VFs supported is 64, while in the file
> "sriov_totalvfs"  says it's 63.
> And the sriov_numvfs file will take precedence.
> Why are the numbers different?  Just a little curious.

I believe this comes from the driver implementation:

/*  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)

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h#n7

Michal



Number of the max supported VFs are different

2022-03-02 Thread Yalan Zhang
Hi there,

I have an Intel X520 network card, and I find the max supported VFs are
different.
Please check below outputs:

# lspci -vvv -s 04:00.0
04:00.0 Ethernet controller: Intel Corporation Ethernet 10G 2P X520 Adapter
(rev 01)
...
 Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV)
IOVCap: Migration-, Interrupt Message Number: 000
IOVCtl: Enable- Migration- Interrupt- MSE- ARIHierarchy+
IOVSta: Migration-
** Initial VFs: 64, Total VFs: 64**, Number of VFs: 0, Function Dependency
Link: 00
VF offset: 128, stride: 2, Device ID: 10ed
Supported Page Size: 0553, System Page Size: 0001
Region 0: Memory at 9440 (64-bit, prefetchable)
Region 3: Memory at 9450 (64-bit, prefetchable)
VF Migration: offset: , BIR: 0
Kernel driver in use: ixgbe
Kernel modules: ixgbe

# cat /sys/class/net/enp4s0f0/device/sriov_totalvfs
63

# echo 64 > /sys/class/net/enp4s0f0/device/sriov_numvfs
-bash: echo: write error: Numerical result out of range
# echo 63 > /sys/class/net/enp4s0f0/device/sriov_numvfs
# cat /sys/class/net/enp4s0f0/device/sriov_numvfs
63

The lspci command says the Total VFs supported is 64, while in the file
"sriov_totalvfs"  says it's 63.
And the sriov_numvfs file will take precedence.
Why are the numbers different?  Just a little curious.
Thank you!

---
Best Regards,
Yalan Zhang
IRC: yalzhang