Hi,

On Tue, Dec 9, 2014 at 7:22 PM, Skidmore, Donald C
<donald.c.skidm...@intel.com> wrote:
> Hi Stefan,
>
> Ubuntu is a tricky one.  I keep reminding our management that I'm noticing 
> more people in the community are using it especially LTS.  They (Ubuntu) make 
> it hard though without versioning like SLES and RHEL, doing kcompat can be a 
> challenge.  Not that I think that is at all related to your issue. And you 
> are correct we do validate and actively add compat support for RHEL and SLES. 
> :)

By "without versioning" do you mean they backport stuff expected in
newer kernel, making it hard to detect which kernel you're running on?
I'm asking just so I know next time when I need to decide Ubuntu or
their kernel. I guess the Linus/vanilla kernel should work (according
to http://sourceforge.net/p/e1000/mailman/message/32788947/ at least)?

>
> I think ATR may work for you with your current system setup if you map the 
> interrupts in the 1-to-1 fashion I mentioned below.  Since you have your user 
> space processes pinned to a given CPU all flows that transmit a SYN from that 
> CPU will be redirected back to that queue/CPU pair.  Not sure you would be 
> effected much by the sampling rate as it rate is our mechanism for identify 
> non-SYN packet flows, it is the rate at which we check a given packet to see 
> if a ATR hash bucket exist for it and if not create one.

Actually, the stuff we're receiving is strictly layer 3 - IP with a
custom protocol, not even TCP or UDP. We would've used Layer2, but I
haven't found a way to distribute that among cores / queues. Both RSS
and ethtool -K/-U filters seem to require at least layer 3.

>
> That said I also believe your mechanism will work, possible even better since 
> you don't have to wait for the ATR hash bucket to be created by the 
> transmission of the SYN (meaning connections remotely initiated will most 
> likely not have their initial SYN direct to the CPU you want) and won't have 
> to deal with the limit on ATR hash buckets (if you have LOTS of ports open 
> from one IP address).  Still I would turn off ATR and thus default to RSS.  
> This however will limit you to 16 queues, which depending on the size of your 
> system may or may not be an issue.

Is it possible to disable ATR from ethtool while using the older
driver that ships with Ubuntu kernel 3.11?
We're currently using 8 queues per NIC, so the RSS limit is OK.

>
> In truth you might want to look at perfect filter.  With it you could direct 
> let the adapter to send all traffic to a given queue.  Which, from my limited 
> understanding of what you're doing, looks to be just what you're looking for. 
>  Basically map an IP address to a give queue.

I'm using:

ethtool -K $DEV ntuple on
[... then for each src IP]
ethtool -U $DEV flow-type ip4 src-ip 10.10.10.$ip_digit action $i

Not sure if I'm using perfect filter or not... Or what I would need to
change to use perfect filter.

Thanks for your help,
Stefan.

>
> Thanks,
> -Don Skidmore <donald.c.skidm...@intel.com>

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
E1000-devel mailing list
E1000-devel@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

Reply via email to