Andrew Davidoff | 5 Sep 05:31 2013
Picon

Intel igb module command line configuration in kernel sources

Hi,

I apologize that this is a user-type question but linux-net seems to
have gone away, and I cannot find a more appropriate networking
related mailing list.

Why are the Intel igb module configuration parameters, usually found
in igb_param.c and part of the source from Intel, not included in the
igb sources distributed with the linux kernel? I cannot find them in
the kernel's igb source, modinfo doesn't list them, and if I try to
use them as documented in the igb readme, I get errors because they
are unrecognized (ex: RSS). Am I overlooking an alternate
configuration method? It looks like some may have been folded into
ethtool, but I can't find receive side scaling settings (specifically,
setting the number of queues).

Thanks.
Andy

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
_______________________________________________
E1000-devel mailing list
E1000-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit http://communities.intel.com/community/wired
(Continue reading)

Tantilov, Emil S | 5 Sep 20:26 2013
Picon

Re: Intel igb module command line configuration in kernel sources

>-----Original Message-----
>From: Andrew Davidoff [mailto:davidoff <at> qedmf.net]
>Sent: Wednesday, September 04, 2013 8:32 PM
>To: e1000-devel <at> lists.sourceforge.net
>Subject: [E1000-devel] Intel igb module command line
>configuration in kernel sources
>
>Hi,
>
>I apologize that this is a user-type question but linux-net
>seems to have gone away, and I cannot find a more appropriate
>networking related mailing list.
>
>Why are the Intel igb module configuration parameters,
>usually found in igb_param.c and part of the source from Intel, not
>included in the igb sources distributed with the linux kernel? I cannot find
>them in the kernel's igb source, modinfo doesn't list them, and if I
>try to use them as documented in the igb readme, I get errors
>because they are unrecognized (ex: RSS). Am I overlooking an alternate
>configuration method? It looks like some may have been
>folded into ethtool, but I can't find receive side scaling settings
>(specifically, setting the number of queues).

On the upstream driver you can use ethtool -L (set-channels) to set the number of queues:

You will need the right combination of ethtool and kernel/driver with get/set-channels support in order
for this to work. Unfortunately from what I can tell the upstream igb driver does not support this
functionality. So your best bet for now is to use the igb driver from e1000.sf.net which provides the RSS parameter.

Hope this helps.
(Continue reading)

Brown, Aaron F | 5 Sep 20:50 2013
Picon

Re: Intel igb module command line configuration in kernel sources


> -----Original Message-----
> From: Tantilov, Emil S [mailto:emil.s.tantilov <at> intel.com]
> Sent: Thursday, September 05, 2013 11:26 AM
> To: Andrew Davidoff; e1000-devel <at> lists.sourceforge.net
> Subject: Re: [E1000-devel] Intel igb module command line configuration in
> kernel sources
> 
> >-----Original Message-----
> >From: Andrew Davidoff [mailto:davidoff <at> qedmf.net]
> >Sent: Wednesday, September 04, 2013 8:32 PM
> >To: e1000-devel <at> lists.sourceforge.net
> >Subject: [E1000-devel] Intel igb module command line configuration in
> >kernel sources
> >
> >Hi,
> >
> >I apologize that this is a user-type question but linux-net seems to
> >have gone away, and I cannot find a more appropriate networking related
> >mailing list.
> >
> >Why are the Intel igb module configuration parameters, usually found in
> >igb_param.c and part of the source from Intel, not included in the igb
> >sources distributed with the linux kernel? I cannot find them in the
> >kernel's igb source, modinfo doesn't list them, and if I try to use
> >them as documented in the igb readme, I get errors because they are
> >unrecognized (ex: RSS). Am I overlooking an alternate configuration
> >method? It looks like some may have been folded into ethtool, but I
> >can't find receive side scaling settings (specifically, setting the
> >number of queues).
(Continue reading)

Andrew Davidoff | 6 Sep 04:28 2013
Picon

Re: Intel igb module command line configuration in kernel sources

On Thu, Sep 5, 2013 at 2:26 PM, Tantilov, Emil S
<emil.s.tantilov <at> intel.com> wrote:

> On the upstream driver you can use ethtool -L (set-channels) to set the number of queues:
>
> You will need the right combination of ethtool and kernel/driver with get/set-channels support in order
for this to work. Unfortunately from what I can tell the upstream igb driver does not support this
functionality. So your best bet for now is to use the igb driver from e1000.sf.net which provides the RSS parameter.
>
> Hope this helps.

Hi Emil,

Thanks for your reply. By "upstream" do you mean "from Intel"? Right
now I'm building and installing igb 5.0.5 from Intel so that I can use
the RSS functionality at boot via modprobe configuration. Is that what
you're suggesting I would do with the version from e1000.sf.net?

Thanks again.
Andy

>
> Emil
>
>>
>>Thanks.
>>Andy
>>
>>------------------------------------------------------------
>>------------------
(Continue reading)

Wyborny, Carolyn | 6 Sep 16:51 2013
Picon

Re: Intel igb module command line configuration in kernel sources

> -----Original Message-----
> From: Andrew Davidoff [mailto:davidoff <at> qedmf.net]
> Sent: Thursday, September 05, 2013 7:29 PM
> To: Tantilov, Emil S
> Cc: e1000-devel <at> lists.sourceforge.net
> Subject: Re: [E1000-devel] Intel igb module command line configuration in
> kernel sources
> 
> On Thu, Sep 5, 2013 at 2:26 PM, Tantilov, Emil S <emil.s.tantilov <at> intel.com>
> wrote:
> 
> > On the upstream driver you can use ethtool -L (set-channels) to set the number
> of queues:
> >
> > You will need the right combination of ethtool and kernel/driver with get/set-
> channels support in order for this to work. Unfortunately from what I can tell
> the upstream igb driver does not support this functionality. So your best bet for
> now is to use the igb driver from e1000.sf.net which provides the RSS
> parameter.
> >
> > Hope this helps.
> 
> Hi Emil,
> 
> Thanks for your reply. By "upstream" do you mean "from Intel"? Right now I'm
> building and installing igb 5.0.5 from Intel so that I can use the RSS functionality
> at boot via modprobe configuration. Is that what you're suggesting I would do
> with the version from e1000.sf.net?
> 

(Continue reading)

Andrew Davidoff | 6 Sep 21:33 2013
Picon

Re: Intel igb module command line configuration in kernel sources

On Fri, Sep 6, 2013 at 10:51 AM, Wyborny, Carolyn
<carolyn.wyborny <at> intel.com> wrote:

> Hello Andy,
>
> I work primarily on the igb driver.  Thanks to Emil for helping out with this.  "Upstream" is kernel source
from kernel.org.  We provide two equivalent igb drivers, the latest upstream kernel and an out of tree
driver located at Source Forge.  The driver that comes with your distribution is based on the upstream
version but can be modified by the distribution vendor.  The RSS parameter is configurable at driver load
with the out of tree driver only.  This kind of configuration is not allowed upstream.  The upstream version
configures RSS as max number of cpu's or max queues, whichever is less by default.  The out of tree default is
a single pair of queues.  You can see what is configured by the driver load in this regard by running dmesg.
>
> What are you trying to accomplish and I'll try to help you get there.

Hi Carolyn,

Thanks for your detailed reply. My situation is that I was running the
Oracle Unbreakable Kernel v2 which ships with igb 4.0.17, and contains
all the module paramaters you get from the intel sources. As you
described, this version was starting up with 1 combined Tx/Rx queue
per network port. I then upgraded to 3.8.13 from kernel.org and again
found the behavior you described - I was now finding 8 combined Tx/Rx
queue per network port (the max for the card I believe, but also, the
number of CPUs).

I am not entirely certain that this is what I will want to do, but
initially I was interested in reconfiguring the igb driver to create
queues as it did under the Oracle kernel. This is when I discovered
that the module options I was used to seeing (though not utilizing)
(Continue reading)

Wyborny, Carolyn | 6 Sep 21:54 2013
Picon

Re: Intel igb module command line configuration in kernel sources

> -----Original Message-----
> From: Andrew Davidoff [mailto:davidoff <at> qedmf.net]
> Sent: Friday, September 06, 2013 12:33 PM
> To: Wyborny, Carolyn
> Cc: Tantilov, Emil S; e1000-devel <at> lists.sourceforge.net
> Subject: Re: [E1000-devel] Intel igb module command line configuration in
> kernel sources
> 
> On Fri, Sep 6, 2013 at 10:51 AM, Wyborny, Carolyn
> <carolyn.wyborny <at> intel.com> wrote:
> 
> > Hello Andy,
> >
> > I work primarily on the igb driver.  Thanks to Emil for helping out with this.
> "Upstream" is kernel source from kernel.org.  We provide two equivalent igb
> drivers, the latest upstream kernel and an out of tree driver located at Source
> Forge.  The driver that comes with your distribution is based on the upstream
> version but can be modified by the distribution vendor.  The RSS parameter is
> configurable at driver load with the out of tree driver only.  This kind of
> configuration is not allowed upstream.  The upstream version configures RSS as
> max number of cpu's or max queues, whichever is less by default.  The out of
> tree default is a single pair of queues.  You can see what is configured by the
> driver load in this regard by running dmesg.
> >
> > What are you trying to accomplish and I'll try to help you get there.
> 
> Hi Carolyn,
> 
> Thanks for your detailed reply. My situation is that I was running the Oracle
> Unbreakable Kernel v2 which ships with igb 4.0.17, and contains all the module
(Continue reading)

Andrew Davidoff | 6 Sep 22:12 2013
Picon

Re: Intel igb module command line configuration in kernel sources

On Fri, Sep 6, 2013 at 3:54 PM, Wyborny, Carolyn
<carolyn.wyborny <at> intel.com> wrote:
.
>> So then is the situation that the module options are pulled out of the upstream
>> sources for compliance reasons with an aim to have them available via ethtool,
>> or some other user space tool, but that not all features available as module
>> options have been ported into user space tools?
>
> Yes, exactly.  As Aaron mentioned previously, the implementation for get/set_channels which sets the
RSS queus is in our internal test tree and will be sent upstream within the next few weeks.

Thanks again for your detailed and timely response. It is very much appreciated.

Andy

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
_______________________________________________
E1000-devel mailing list
E1000-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit http://communities.intel.com/community/wired


Gmane