I have experience with the Solaris driver, but not Illumos, so I won't be able 
to assist in any debug since the implementations differ too much, but I am 
familiar with the interfaces and can say that in the official i40e Solaris 
driver we've always used VMDq2 VSIs for the non-default ring groups, not PF 
VSIs. 

I would try changing the ring group configuration in i40e_add_vsi() to use 
VMDq2 VSIs and see if that makes a difference. There shouldn't be any reason 
Illumos would specifically need PF VSIs here.

http://src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/io/i40e/i40e_main.c#2126
change:
ctx.flags = I40E_AQ_VSI_TYPE_PF;
to:
ctx.flags = I40E_AQ_VSI_TYPE_VMDQ2;

Thanks,
Nick

> -----Original Message-----
> From: Alexander Duyck <alexander.du...@gmail.com>
> Sent: Friday, December 13, 2019 11:27 AM
> To: Youzhong Yang <yy...@mathworks.com>
> Cc: e1000-devel@lists.sourceforge.net
> Subject: Re: [E1000-devel] X710: very slow rx speed (a few MiB/second)
> when using non-default VSI.
> 
> Before you start complaining about what the driver is or isn't doing you
> should probably understand that both the Linux and FreeBSD drivers do have
> to create a PF VSI as that is the default VSI type if I am not mistaken. Do 
> you
> know what the goal is in creating multiple PF VSIs? I don't see the reason for
> doing that versus allocating VMDq2 VSIs?
> 
> If you take a look at the i40e Linux driver it supports a feature called ADq
> which can be used to create multiple VMDq2 VSIs.
> 
> Nobody on this list likely has any experience with Illuminos. I would
> recommend getting in touch with the maintainer for the Illuminos i40e driver
> and working with them as they would know how that driver is supposed to
> work and why the functionality is implemented the way it is.
> 
> Thanks.
> 
> - Alex
> 
> On Fri, Dec 13, 2019 at 11:04 AM Youzhong Yang <yy...@mathworks.com>
> wrote:
> >
> > As I said, a supported OS (Linux and FreeBSD?) does not create the kind of
> VSI (PF VSI) in its i40e driver, are you asking me to test nothing on your
> supported OS?
> >
> > "Intel(r) Ethernet Controller X710/ XXV710/XL710 Datasheet" claims it
> supports PF VSIs, so why would you say it is not supported? Because your
> customer is not using Linux and FreeBSD?
> >
> > It does not make any sense. Sorry.
> >
> > -----Original Message-----
> > From: Fujinaka, Todd <todd.fujin...@intel.com>
> > Sent: Friday, December 13, 2019 1:45 PM
> > To: Youzhong Yang <yy...@mathworks.com>;
> > e1000-devel@lists.sourceforge.net
> > Subject: RE: X710: very slow rx speed (a few MiB/second) when using non-
> default VSI.
> >
> > You can try official channels but you're just going to get an official 
> > "Talk to
> Illuminos" from me.
> >
> > As I said, you can try installing a supported OS to see if it's a hardware 
> > issue,
> but we have no support for Illuminos.
> >
> > Todd Fujinaka
> > Software Application Engineer
> > Datacenter Engineering Group
> > Intel Corporation
> > todd.fujin...@intel.com
> >
> > -----Original Message-----
> > From: Youzhong Yang <yy...@mathworks.com>
> > Sent: Friday, December 13, 2019 10:11 AM
> > To: Fujinaka, Todd <todd.fujin...@intel.com>;
> > e1000-devel@lists.sourceforge.net
> > Subject: RE: X710: very slow rx speed (a few MiB/second) when using non-
> default VSI.
> >
> > This mailing list seems quite quiet. Any hope my issue could get some
> attention? If it is a thing of 'Only Linux and FreeBSD are supported', is 
> there
> any other communication channel through which this issue can be escalated?
> Thanks a lot for your understanding.
> >
> > -----Original Message-----
> > From: Youzhong Yang <yy...@mathworks.com>
> > Sent: Tuesday, December 3, 2019 12:21 PM
> > To: Fujinaka, Todd <todd.fujin...@intel.com>;
> > e1000-devel@lists.sourceforge.net
> > Subject: RE: X710: very slow rx speed (a few MiB/second) when using non-
> default VSI.
> >
> > Hello Todd,
> >
> > Thank you very much for replying so fast. I am sorry I missed your e-mail as
> it was blocked by our company e-mail filters.
> >
> > I have contacted illumos dev twice but unfortunately there was no reply, it
> seems the i40e driver developer is no longer active. I am trying to figure out
> how I can fix the issue by myself, I know how to do driver development but
> this particular issue seems to be very unique, and I suspect either something
> is missing when creating the VSIs, or there might be a bug (possibly in the
> Ethernet card firmware) in the way non-default PF VSI is created.
> >
> > I have researched the Linux and FreeBSD i40e driver code, none of them
> does the same kind of thing our illumos driver does. For each i40e instance,
> we create 31 PF VSIs in addition to the default one initiated by the card
> firmware. When receiving data through the RX queues of the default VSI, the
> performance is very good, but when receiving data through the RX queues of
> the non-default VSI, the performance can be very poor.
> >
> > The "Intel(r) Ethernet Controller X710/ XXV710/XL710 Datasheet" suggests
> there's nothing wrong by having 32 PF VSIs. Please refer to its page 20:
> >
> > "VSI Support
> > The X710/XXV710/XL710 supports a total of 384 VSIs. VSI assignment is
> flexible, but the choice to support 384 VSIs is motivated by the following
> usage example:
> > * 256 VSIs for VFs or VMDq2
> > * 32 VSIs for PFs"
> >
> > We purchased a bunch of XL710 cards, hoping it can deliver better
> performance than the ixgbe cards. Sadly we were hit by this performance
> issue, and I've tried troubleshooting/debugging for more than 2 months, but
> so far no luck.
> >
> > Your kind assistance would be highly appreciated.
> >
> > Sincerely,
> >
> > -Youzhong Yang
> > The MathWorks Inc.
> >
> > -----Original Message-----
> > From: Fujinaka, Todd <todd.fujin...@intel.com>
> > Sent: Monday, December 2, 2019 4:39 PM
> > To: Youzhong Yang <yy...@mathworks.com>;
> > e1000-devel@lists.sourceforge.net
> > Subject: RE: X710: very slow rx speed (a few MiB/second) when using non-
> default VSI.
> >
> > I think you're going to have to ask Illumos about this. Can you reproduce
> this on a supported OS such as Red Hat Linux or FreeBSD?
> >
> > Todd Fujinaka
> > Software Application Engineer
> > Datacenter Engineering Group
> > Intel Corporation
> > todd.fujin...@intel.com
> >
> > -----Original Message-----
> > From: Youzhong Yang <yy...@mathworks.com>
> > Sent: Monday, December 2, 2019 12:19 PM
> > To: e1000-devel@lists.sourceforge.net
> > Subject: [E1000-devel] X710: very slow rx speed (a few MiB/second) when
> using non-default VSI.
> >
> > Hello everyone,
> >
> > I submitted a help request on Intel website and was redirected to this
> mailing list. The request can be found here:
> >
> > X710: very slow rx speed (a few MiB/second) when using non-default VSI.
> >
> >
> > I experienced very strange performance issue when sending data from a
> client to a server with X710 card. Details about the investigation can be 
> found
> here:
> >
> > https://github.com/youzhongyang/i40e_investigation
> >
> >
> >
> > The server runs illumos (derived from open solaris), its i40e driver can be
> found here:
> >
> > http://src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/io/
> > i40e/
> >
> >
> >
> > So for each i40e instance, we create 32 VSIs (including the default one
> created by the firmware), each VSI is assigned 8 trq pairs. When a VIF/VNIC is
> created, the OS assigns a VSI to it, data receiving through the VNIC's IP 
> will be
> done by the relevant VSI's 8 RX rings. However, data sending will always go
> through the default VSI's 8 TX rings.
> >
> >
> >
> > The function for creating non-default VSI is here:
> >
> > http://src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/io/
> > i40e/i40e_main.c#2111
> >
> >
> >
> > I've upgraded the firmware version to the latest, still the same issue. Is 
> > this
> a known issue? or is there anything missing when setting up the non-default
> VSI?
> >
> >
> >
> > Your help/advice would be highly appreciated.
> >
> > Sincerely,
> > -Youzhong Yang
> >
> >
> > _______________________________________________
> > E1000-devel mailing list
> > E1000-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/e1000-devel
> > To learn more about Intel Ethernet, visit
> > https://forums.intel.com/s/topic/0TO0P00000018NbWAI/intel-ethernet
> >
> >
> >
> > _______________________________________________
> > E1000-devel mailing list
> > E1000-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/e1000-devel
> > To learn more about Intel Ethernet, visit
> > https://forums.intel.com/s/topic/0TO0P00000018NbWAI/intel-ethernet
> 
> 
> _______________________________________________
> E1000-devel mailing list
> E1000-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/e1000-devel
> To learn more about Intel Ethernet, visit
> https://forums.intel.com/s/topic/0TO0P00000018NbWAI/intel-ethernet


_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel Ethernet, visit 
https://forums.intel.com/s/topic/0TO0P00000018NbWAI/intel-ethernet

Reply via email to