Hi,
I am leaving the older message just for the sake of continuity in case you need 
to know any of the history.

We're using Intel Pro/1000 VT with RHEL 5.2 and trying to use IOCTL to send and 
receive data. We're 
using the igb driver but there's some change we put in to get the packet right 
after it's DMAed from the
NIC, and use IOCTL to send the packet to the user space. This is the Rx path. 
In the Tx path we're calling
IOCTL from user space to send a bunch of pointers to the driver and use 
Scatter-Gather to send the packet
out.

We can't seem to get more than 50MByte/S per port, when we run on all 4 ports. 
With single port we can
see 90MByte/S, occasionally reaching 105MBytes/S . With 2 ports it's somewhere 
at the rate of 60MB/S,
with 3 ports, it's 50+MB/S, and with 4 ports max. we're able to do 200MB/S 
aggregate. (4 ports at wire
speed should give an aggregate of over 440MB/S, counting off TCP/IP overheads.)

We *believe* (not sure) that we're hitting serialization issues. We believe 
that even though we make 4
IOCTL calls for packets to 4 different ports all these calls are serialized. We 
can provide more info. as
needed.

Please let us know if there's something fundamentally wrong. Any pointers to 
other's data would be 
helpful. Finally, if you need more data on the driver/kernel/debug 
commands/traces we can get that.

Thanks,
-Kumar



----- Original Message ----
From: "Brandeburg, Jesse" <[EMAIL PROTECTED]>
To: Kumar Narayanan <[EMAIL PROTECTED]>; "Ronciak, John" <[EMAIL PROTECTED]>; 
Richard Scobie <[EMAIL PROTECTED]>; [email protected]
Sent: Tuesday, May 20, 2008 8:49:14 AM
Subject: RE: [E1000-devel] RSS - Receive-Side Scaling on Intel PRO/1000 NIC

 
yes, my reference to IGB *only* applies to 82575 based VT 
adapter, not to the 82571 based PT adapter.
 
Thanks for the dell reference!
 
Jesse


________________________________
 From: Kumar Narayanan [mailto:[EMAIL PROTECTED] 
Sent: Monday, May 19, 2008 7:13 PM
To: Brandeburg, Jesse; 
Ronciak, John; Richard Scobie; 
[email protected]
Subject: Re: [E1000-devel] RSS - 
Receive-Side Scaling on Intel PRO/1000 NIC


Thanks 
for the quick response, Jesse.

I think that I'll use the e1000 on another 
server where we don't need RSS. Just that
we spent time, and ended up 
probably costing all your time also. Moving on...

I suppose that your 
reference to IGB driver, MSI-X, 2.6.23 (or 2.6.25.4) etc. apply to 82575 (Pro 
1000 VT), right? Or does it apply to 
Pro 1000 PT also?

The NIC is orderable. Dell Part# : 430-2688. Go 
to "http://www.dell.com&quot; and 
enter 430-2688 in the search box. It'll let you 
order from there. I just discovered 
it today - wasn't orderable till late 
lastweek.

-Kumar


----- Original Message ----
From: "Brandeburg, Jesse" 
<[EMAIL PROTECTED]>
To: Kumar Narayanan 
<[EMAIL PROTECTED]>; "Ronciak, John" <[EMAIL PROTECTED]>; Richard 
Scobie <[EMAIL PROTECTED]>; [email protected]
Sent: 
Monday, May 19, 2008 6:15:24 PM
Subject: RE: [E1000-devel] RSS - Receive-Side 
Scaling on Intel PRO/1000 NIC

 
First, you should be able to return your PT adapters, I'm 
sorry that you got a bad deal from the marketing 
documentation.
 
Second, the Intel provided IGB driver on sourceforge 
supports full tx and rx multiple queues with MSI-X (tx multiple queues requires 
a 2.6.23, recommend a 2.6.25.4 kernel) and RSS based steering to the multiple 
queues.  Right now the hash that steers the flows to a particular queue is 
random, but can easily be made static with a simple patch.
 
I suggest you see if you can find an Intel distributor who 
will sample you an 82575 based board.  If that doesn't work for you then I 
suggest you buy one from dell (you'll probably have to call them, as we haven't 
found it on the website yet)
 
Jesse


________________________________
 From: Kumar Narayanan [mailto:[EMAIL PROTECTED] 
Sent: Monday, May 19, 2008 4:05 PM
To: Ronciak, John; 
Brandeburg, Jesse; Richard Scobie; 
[email protected]
Subject: Re: [E1000-devel] RSS - 
Receive-Side Scaling on Intel PRO/1000 NIC


Based 
on the email below and some more reading I am thinking of getting 
Intel
Pro/1000 VT quad-port GbE NIC.  Please let me know if any of the 
following 
assumptions are incorrect.
1. It's based on 85275
2. It 
supports MSI-X
3. It has RSS support
4. Need kernel version 2.6.23 or RHEL 
5.2

The reason for asking these questions is that looking at Intel's web 
site it appeared
that Intel Pro/1000 PT quad-port GbE NIC supports RSS. While 
this may be of
technical interest as a user I can't have RSS function with PT 
adapters with Linux. I
didn't see *anything* in the Intel's product site that 
says that PT adapters has RSS
feature but it's not usable with Linux. I am 
trying to prevent myself from falling into 
the same/similar trap 
now.

Thanks,
-Kumar


----- 
Original Message ----
From: "Ronciak, John" 
<[EMAIL PROTECTED]>
To: Kumar Narayanan <[EMAIL PROTECTED]>; 
"Brandeburg, Jesse" <[EMAIL PROTECTED]>; Richard Scobie 
<[EMAIL PROTECTED]>; [email protected]
Sent: Friday, 
May 2, 2008 1:35:11 PM
Subject: RE: [E1000-devel] RSS - Receive-Side Scaling 
on Intel PRO/1000 NIC

>I am assuming that without RSS the interrupts 
are free to go to any of
the cores in 
>a multi-core system. Is that a 
fair statement? 
Yes that is true assuming that user-space level IRQ balancer 
is being
used.  The in-kernel version doesn't work very well at 
all.

>With RSS we thought we might be able to bring in session 
stickiness -
I.E. packets belonging to >the same session will find way to 
the same
core. Is that a valid assumption?
Well yes that is some what true 
but as Auke has said, not having MSI-X
interrupts enabled on the 82571 
adapters hurt the performance which
could be gained.  You can turn off 
the IRQ balancer and the set the
affinity of the connections to a single 
processor which might give you
what you are after.

The real way to get 
all of this to work is to use the 82575 parts with
the igb driver.  It 
supports MSI-X which might be better for what you
are trying to do.

On 
the I/OAT front, please make sure that you try RHEL5.2 as there are a
number 
of bug fixes and added features regarding I/OAT.  It matches what
is in 
the 2.6.23 kernel regarding I/OAT.  It releases later this month
but the 
final RCs are available 
today.


Cheers,
John
-----------------------------------------------------------
"Those 
who would give up essential Liberty, to purchase a little
temporary Safety, 
deserve neither Liberty nor Safety.", Benjamin
Franklin 1755 

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] 
On Behalf Of Kumar
Narayanan
Sent: Friday, May 02, 2008 11:37 AM
To: 
Brandeburg, Jesse; Richard Scobie; [email protected]
Subject: 
Re: [E1000-devel] RSS - Receive-Side Scaling on Intel PRO/1000
NIC

Hi 
Jesse, Thanks for the kind reply... I got a good amount of info. from
your's 
and Auke's email.

We enabled IOAT with the hope that what's being said 
for WIN (that RSS
is a 
necessary condition for IOAT) may be true for 
LINUX also, and that by
enabling
IOAT we could get RSS also going 
...

I am assuming that without RSS the interrupts are free to go to any 
of
the cores in 
a multi-core system. Is that a fair statement? With RSS 
we thought we
might be 
able to bring in session stickiness - I.E packets 
belonging to the same
session will
find way to the same core. Is that a 
valid assumption?

What would be my options to achieve the session 
stickiness as I
mentioned above?
What's my next best 
option?

Thanks,
-Kumar



----- Original Message 
----
From: "Brandeburg, Jesse" <[EMAIL PROTECTED]>
To: 
Kumar Narayanan <[EMAIL PROTECTED]>; Richard 
Scobie
<[EMAIL PROTECTED]>; [email protected]
Sent: 
Thursday, May 1, 2008 6:32:15 PM
Subject: RE: [E1000-devel] RSS - 
Receive-Side Scaling on Intel PRO/1000
NIC

Hi Kumar, maybe look for 
"Crystal Beach" in bios for enabling IOAT.
Some vendors left the code name in 
there.

yes, IOAT (copy offload) is not needed for supporting 
RSS.

while the hardware supports RSS, the Linux drivers don't currently 
do
anything for it in e1000/e1000e.  all the parts supported by e1000e 
have
RSS and at least 2 queue support, but don't have MSI-X, so can 
only
generate a ssingle interrupt vector, which kind of makes multiple 
queues
not very useful on those parts.

Tell us what you were trying to 
achieve with RSS and let us help you get
there, maybe without 
RSS.

Jesse

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] 
On Behalf Of Kumar
Narayanan
Sent: Thursday, May 01, 2008 6:28 PM
To: 
Richard Scobie; [email protected]
Subject: 
Re: [E1000-devel] RSS - Receive-Side Scaling on Intel 
PRO/1000
NIC

Hello Richard, Thanks for the email. 

We don't 
need I/O AT per se. Somewhere we read in Intel doc. that RSS is
a 
necessary condition for I/OAT to function. However, that seems to 
be
relevant
for WIN server OS only.

We want only RSS. We enabled 
I/O AT thinking that RSS *might* get
enabled
if I/O AT is also enabled. I 
wonder if anyone is using RSS in LINUX with
Intel
PRO/1000 GbE NIC. Intel 
technical support came back with no answer.
Hence
I am asking the e1000 
developers...

BTW, I checked. I/O AT mod is installed but it's not 
enabled. I read the
URL
you gave me. It appears that we need to enable it 
in BIOS. I am trying
to understand
what command in BIOS will enable I/O 
AT.




----- Original Message ----
From: Richard Scobie 
<[EMAIL PROTECTED]>
To: [email protected]
Sent: 
Thursday, May 1, 2008 5:15:13 PM
Subject: Re: [E1000-devel] RSS - 
Receive-Side Scaling on Intel PRO/1000
NIC

Kumar Narayanan 
wrote:
> Hello, I am using Intel Pro/1000 PT Quad Port Server NIC with 
RHEL 5.
> I am trying to enable RSS - Receive-Side Scaling. The 
documentation
says
> that the above NIC supports LINUX I/O Scaling - 
RSS being part of this
> I/O Scaling feature.

If you mean IOAT 
support, look here and read the README in the Linux
download.

http://www.intel.com/support/network/adapter/pro100/sb/CS-023725.htm

Also 
look at this discussion for details of what you may need to enable
in the 
BIOS:

http://sourceforge.net/mailarchive/forum.php?thread_name=480FBB2F.709000
9%40sauce.co.nz&forum_name=e1000-devel

Regards,

Richard


------------------------------------------------------------------------
-
This SF.net email is sponsored 
by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. 
There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j
avaone
_______________________________________________
E1000-devel 
mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel




________________________________________________________________________
____________
Be 
a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it 
now.
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ




________________________________________________________________________
____________
Be 
a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it 
now.
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ


      
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel

Reply via email to