Re: netmap: traffic distribution

2013-09-27 Thread Luigi Rizzo
On Fri, Sep 27, 2013 at 8:16 PM, chintu hetam  wrote:
> As far as i know, flow director is Intel terminology it addresses both RSS
> and RFS. I think FreeBSD implementation is RFS.
>
> Luigi, you touched upon SW de-multiplexer, i would like to know why it's
> necessary.

the sw demux is only necessary if you expect to have traffic with heavy
processing requirements for which you cannot easily guarantee that
the RSS more or less balances the queues.
Since the number of RSS queues is small, unbalance is not unlikely;
in software you could in principle demux each flow to its own queue
and then have one worker process per thread process queues.
Note though that scheduling may become complicated if you care
for CPU locality, but if the sw demux only reads buffers, then the
situation is not too bad.

> let say i have 82599 ixgbe driver (RSS enabled)configured with 5 tuple hash.
> My application reads from netmap queue 0-7(1-8), for testing purpose i will
> define tuples in such a way that i know for sure that each packet will be
> filtered to specific hw queue(0-7). Now is it safe to assume that in netmap
> mode in user space i will receive the packet as in ixgbe hw queue?

yes.

>
> Michio, reason i asked for performance values
> http://arxiv.org/ftp/arxiv/papers/1106/1106.0443.pdf


The problem that the paper describes is due to the incorrect implementation
(at least according to the description give in the paper) of the
Flow Director (FD) feature in linux.
The hardware demux (RSS or RFS) per se does not cause reordering
unless it is misued (as described in the paper).

Basically when FD is active, the RFS entry in the NIC is generated by looking at
the core used for the transmit side of a flow, and (according to what
the paper says;
not sure if it has been fixed since), the association is updated
dynamically and not
generated just once at the beginning of the flow. So if the userspace thread
floats between CPUs, the RFS entry keepfloating, and incoming packets
for the same flow
can be delivered to different queues.

cheers
luigi

-- 
-+---
 Prof. Luigi RIZZO, ri...@iet.unipi.it  . Dip. di Ing. dell'Informazione
 http://www.iet.unipi.it/~luigi/. Universita` di Pisa
 TEL  +39-050-2211611   . via Diotisalvi 2
 Mobile   +39-338-6809875   . 56122 PISA (Italy)
-+---
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: netmap: traffic distribution

2013-09-27 Thread chintu hetam
As far as i know, flow director is Intel terminology it addresses both RSS
and RFS. I think FreeBSD implementation is RFS.

Luigi, you touched upon SW de-multiplexer, i would like to know why it's
necessary.
let say i have 82599 ixgbe driver (RSS enabled)configured with 5 tuple
hash. My application reads from netmap queue 0-7(1-8), for testing purpose
i will define tuples in such a way that i know for sure that each packet
will be filtered to specific hw queue(0-7). Now is it safe to assume that
in netmap mode in user space i will receive the packet as in ixgbe hw queue?

Michio, reason i asked for performance values
http://arxiv.org/ftp/arxiv/papers/1106/1106.0443.pdf
I would like to test the accuracy of RFS with HW RSS in netmap mode..

cheers,
r2r


On Fri, Sep 27, 2013 at 2:59 AM, hiren panchasara <
hiren.panchas...@gmail.com> wrote:

>
>
>
> On Thu, Sep 26, 2013 at 2:27 PM, chintu hetam wrote:
>
>> Hiren,
>>
>> https://www.kernel.org/doc/Documentation/networking/scaling.txt must
>> read to understand nuances of each of this features. None of this
>> techniques are used for mostly none other than performance reasons.
>>
>
> Thanks for the link.
> So, RFS (Receive Flow Steering) is equivalent to "flow director" mentioned
> in FreeBSD's ixgbe drivers?
>
>>
>> Michio, personally i am interested to know performance results in netmap
>> mode with RFS patch you just mentioned.
>>
> Takuya/Luigi might have some numbers.
>
> Thanks,
> Hiren
>
> 
>
>
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Adding Flow Director sysctls to ixgbe(4) (was: netmap: traffic distribution)

2013-09-27 Thread hiren panchasara
On Fri, Sep 27, 2013 at 1:58 AM, Takuya ASADA  wrote:

> 2013/9/27 Adrian Chadd 
>
>> On 27 September 2013 00:43, hiren panchasara 
>> wrote:
>>
>>
>>> Takuya,
>>>
>>> I see a lot of responses/comments on proposed changes. Was anything
>>> decided
>>> at the end of it? As far as I can tell, its still not committed to the
>>> tree.
>>>
>>
>> I'd rather see an ioctl API for that chipset and then have a separate
>> tool program it for now.
>>
>
> Ah, like cxgbetool and cxgbe? (it has device specific tool and ioctls)
> http://svnweb.freebsd.org/base/head/tools/tools/cxgbetool/
>

Something like this for ixgbe would be nice to start with, imo.

Cheers,
Hiren

> http://svnweb.freebsd.org/base/head/sys/dev/cxgb/
>
>
>> So, how bout we hack that up? :)
>>
>
>  Sound's interesting ;-)
> Could you tell me more detail about your idea?
>
>
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: netmap: traffic distribution

2013-09-27 Thread hiren panchasara
I think you meant "reply-all" :-)

On Fri, Sep 27, 2013 at 7:53 AM, chintu hetam  wrote:

> As far as i know, flow director is Intel terminology it addresses both RSS
> and RFS. I think FreeBSD implementation is RFS.
>
> Luigi, you touched upon SW de-multiplexer, i would like to know why it's
> necessary.
> let say i have 82599 ixgbe driver (RSS enabled)configured with 5 tuple
> hash. My application reads from netmap queue 0-7(1-8), i know for sure that
> each hash will be filtered to specific hw queue(0-7), is it safe to assume
> netmap will provide packets in same order.
>
> Michio, reason i asked for performance values
> http://arxiv.org/ftp/arxiv/papers/1106/1106.0443.pdf
> I would like to test the accuracy of RFS,RSS and others in netmap mode..
>
> Thanks
> Hardik
>
>
> On Fri, Sep 27, 2013 at 2:59 AM, hiren panchasara <
> hiren.panchas...@gmail.com> wrote:
>
>>
>>
>>
>> On Thu, Sep 26, 2013 at 2:27 PM, chintu hetam wrote:
>>
>>> Hiren,
>>>
>>> https://www.kernel.org/doc/Documentation/networking/scaling.txt must
>>> read to understand nuances of each of this features. None of this
>>> techniques are used for mostly none other than performance reasons.
>>>
>>
>> Thanks for the link.
>> So, RFS (Receive Flow Steering) is equivalent to "flow director"
>> mentioned in FreeBSD's ixgbe drivers?
>>
>>>
>>> Michio, personally i am interested to know performance results in netmap
>>> mode with RFS patch you just mentioned.
>>>
>> Takuya/Luigi might have some numbers.
>>
>> Thanks,
>> Hiren
>>
>> 
>>
>>
>
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Adding Flow Director sysctls to ixgbe(4)

2013-09-27 Thread Adrian Chadd
On 27 September 2013 03:09, Julian Elischer  wrote:

> On 9/27/13 4:53 PM, Adrian Chadd wrote:
>
>> I don't care about whether there's a generic API right now. I'd rather see
>> it done as a staged thing, but _not_ sysctls.
>>
>> Having sysctls to add/remove entries from things is just plain evil.
>>
>> I'd rather instead come up with a device specific ioctl API for this for
>> now w/ a userland tool for each particular chip. Then once we all get a
>> bit
>> more experience doing this, a unified API can be proposed.
>>
>
> that makes it worse
> If you want to put a device specific sysctl/ioctl set out there then have
> a device INDEPENDENT
> tool that knows how to handle the devices we have modified and when we
> have  enough examples we can change the
> ioctl/sysctl interface to a generic one without changing the interface
> people are using in their scripts.
>

I agree that's the eventual goal, sure.

But there's not necessarily a clear-cut set of shared behaviour that a
generic API could actually use.

That's why I'm a fan of doing it in a couple of stages - get the
device-specific stuff into the tree, get that stuff debugged, then sit down
in the future and figure out what the sane intersection of this. The shared
API may be partly "shared overlapping behaviour"and may partly be "have a
capabilities api that defines which parts of the behaviour is supported by
the NIC."

Thanks,




-adrian
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Adding Flow Director sysctls to ixgbe(4)

2013-09-27 Thread Julian Elischer

On 9/27/13 4:53 PM, Adrian Chadd wrote:

I don't care about whether there's a generic API right now. I'd rather see
it done as a staged thing, but _not_ sysctls.

Having sysctls to add/remove entries from things is just plain evil.

I'd rather instead come up with a device specific ioctl API for this for
now w/ a userland tool for each particular chip. Then once we all get a bit
more experience doing this, a unified API can be proposed.


that makes it worse
If you want to put a device specific sysctl/ioctl set out there then 
have a device INDEPENDENT
tool that knows how to handle the devices we have modified and when we 
have  enough examples we can change the
ioctl/sysctl interface to a generic one without changing the interface 
people are using in their scripts.





-adrian



On 27 September 2013 01:49, Takuya ASADA  wrote:


Hi,

I think there were many comment which says "don't use device specific
sysctls, we should have more generic interface to configure NIC filter,
like Linux's ethtool".
And I heard same idea in last BSDCan, but there's still no proposal of
"generic interface for NIC filter", I suppose.
So, honestly I haven't good idea to merge the change.
Is there any people who has good idea to handle this?

Or, just merge this patch would be fine?


2013/9/27 hiren panchasara 




On Thu, Sep 26, 2013 at 10:38 AM, hiren panchasara <
hiren.panchas...@gmail.com> wrote:




On Thu, Sep 26, 2013 at 12:58 AM, Michio Honda 
wrote:

Hi,

The handiest way to try flexible flow distribution is using Flow
Director.
I've confirmed that the patch posted to this list two years ago works
with netmap/ixgbe.



http://freebsd.1045724.n5.nabble.com/Adding-Flow-Director-sysctls-to-ixgbe-4-td4769489.html

Thanks a lot for the link, Michio!

It seems this work is yet not committed?!?


Takuya,

I see a lot of responses/comments on proposed changes. Was anything
decided at the end of it? As far as I can tell, its still not committed

to

the tree.

Thanks,
Hiren



___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"



___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: kern/172113: [panic] [e1000] [patch] 9.1-RC1/amd64 panices in igb(4): m_getjcl: invalid cluster type

2013-09-27 Thread pluknet
Synopsis: [panic] [e1000] [patch] 9.1-RC1/amd64 panices in igb(4): m_getjcl: 
invalid cluster type

State-Changed-From-To: open->patched
State-Changed-By: pluknet
State-Changed-When: Fri Sep 27 09:00:31 UTC 2013
State-Changed-Why: 
The fix committed to HEAD (r254002), stable/9 (r254003), releng/9.2 (r254009).

http://www.freebsd.org/cgi/query-pr.cgi?pr=172113
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: kern/172113: [panic] [e1000] [patch] 9.1-RC1/amd64 panices in igb(4): m_getjcl: invalid cluster type

2013-09-27 Thread Sergey Kandaurov
I forward these mails for archives to easier track what was committed
for this PR.

-- Forwarded message --
From: Jack F Vogel 
Date: 6 August 2013 22:00
Subject: svn commit: r254002 - head/sys/dev/e1000
To: src-committ...@freebsd.org, svn-src-...@freebsd.org,
svn-src-h...@freebsd.org


Author: jfv
Date: Tue Aug  6 18:00:53 2013
New Revision: 254002
URL: http://svnweb.freebsd.org/changeset/base/254002

Log:
  When the igb driver is static there are cases when early interrupts occur,
  resulting in a panic in refresh_mbufs, to prevent this add a check in the
  interrupt handler for DRV_RUNNING.

  MFC after: 1 day (critical for 9.2)

Modified:
  head/sys/dev/e1000/if_igb.c

Modified: head/sys/dev/e1000/if_igb.c
==
--- head/sys/dev/e1000/if_igb.c Tue Aug  6 17:22:06 2013(r254001)
+++ head/sys/dev/e1000/if_igb.c Tue Aug  6 18:00:53 2013(r254002)
@@ -1572,6 +1572,10 @@ igb_msix_que(void *arg)
u32 newitr = 0;
boolmore_rx;

+   /* Ignore spurious interrupts */
+   if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0)
+   return;
+
E1000_WRITE_REG(&adapter->hw, E1000_EIMC, que->eims);
++que->irqs;


-- Forwarded message --
From: Jack F Vogel 
Date: 7 August 2013 01:16
Subject: svn commit: r254009 - releng/9.2/sys/dev/e1000
To: src-committ...@freebsd.org, svn-src-...@freebsd.org,
svn-src-rel...@freebsd.org


Author: jfv
Date: Tue Aug  6 21:16:00 2013
New Revision: 254009
URL: http://svnweb.freebsd.org/changeset/base/254009

Log:
  When the igb driver is static there are cases when early interrupts occur,
  resulting in a panic in refresh_mbufs, to prevent this add a check to the
  interrupt handler for DRV_RUNNING.

  Approved by: re

Modified:
  releng/9.2/sys/dev/e1000/if_igb.c
Directory Properties:
  releng/9.2/sys/   (props changed)
  releng/9.2/sys/dev/   (props changed)
  releng/9.2/sys/dev/e1000/   (props changed)

Modified: releng/9.2/sys/dev/e1000/if_igb.c
==
--- releng/9.2/sys/dev/e1000/if_igb.c   Tue Aug  6 21:01:38 2013
 (r254008)
+++ releng/9.2/sys/dev/e1000/if_igb.c   Tue Aug  6 21:16:00 2013
 (r254009)
@@ -1572,6 +1572,10 @@ igb_msix_que(void *arg)
u32 newitr = 0;
boolmore_rx;

+   /* Ignore spurious interrupts */
+   if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0)
+   return;
+
E1000_WRITE_REG(&adapter->hw, E1000_EIMC, que->eims);
++que->irqs;
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Adding Flow Director sysctls to ixgbe(4) (was: netmap: traffic distribution)

2013-09-27 Thread Takuya ASADA
2013/9/27 Adrian Chadd 

> On 27 September 2013 00:43, hiren panchasara 
> wrote:
>
>
>> Takuya,
>>
>> I see a lot of responses/comments on proposed changes. Was anything
>> decided
>> at the end of it? As far as I can tell, its still not committed to the
>> tree.
>>
>
> I'd rather see an ioctl API for that chipset and then have a separate tool
> program it for now.
>

Ah, like cxgbetool and cxgbe? (it has device specific tool and ioctls)
http://svnweb.freebsd.org/base/head/tools/tools/cxgbetool/
http://svnweb.freebsd.org/base/head/sys/dev/cxgb/


> So, how bout we hack that up? :)
>

 Sound's interesting ;-)
Could you tell me more detail about your idea?
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Adding Flow Director sysctls to ixgbe(4) (was: netmap: traffic distribution)

2013-09-27 Thread Adrian Chadd
I don't care about whether there's a generic API right now. I'd rather see
it done as a staged thing, but _not_ sysctls.

Having sysctls to add/remove entries from things is just plain evil.

I'd rather instead come up with a device specific ioctl API for this for
now w/ a userland tool for each particular chip. Then once we all get a bit
more experience doing this, a unified API can be proposed.



-adrian



On 27 September 2013 01:49, Takuya ASADA  wrote:

> Hi,
>
> I think there were many comment which says "don't use device specific
> sysctls, we should have more generic interface to configure NIC filter,
> like Linux's ethtool".
> And I heard same idea in last BSDCan, but there's still no proposal of
> "generic interface for NIC filter", I suppose.
> So, honestly I haven't good idea to merge the change.
> Is there any people who has good idea to handle this?
>
> Or, just merge this patch would be fine?
>
>
> 2013/9/27 hiren panchasara 
>
> >
> >
> >
> > On Thu, Sep 26, 2013 at 10:38 AM, hiren panchasara <
> > hiren.panchas...@gmail.com> wrote:
> >
> >>
> >>
> >>
> >> On Thu, Sep 26, 2013 at 12:58 AM, Michio Honda  >wrote:
> >>
> >>> Hi,
> >>>
> >>> The handiest way to try flexible flow distribution is using Flow
> >>> Director.
> >>> I've confirmed that the patch posted to this list two years ago works
> >>> with netmap/ixgbe.
> >>>
> >>>
> http://freebsd.1045724.n5.nabble.com/Adding-Flow-Director-sysctls-to-ixgbe-4-td4769489.html
> >>>
> >>
> >> Thanks a lot for the link, Michio!
> >>
> >> It seems this work is yet not committed?!?
> >>
> >
> > Takuya,
> >
> > I see a lot of responses/comments on proposed changes. Was anything
> > decided at the end of it? As far as I can tell, its still not committed
> to
> > the tree.
> >
> > Thanks,
> > Hiren
> >
> >
> ___
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"
>
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Adding Flow Director sysctls to ixgbe(4) (was: netmap: traffic distribution)

2013-09-27 Thread Takuya ASADA
Hi,

I think there were many comment which says "don't use device specific
sysctls, we should have more generic interface to configure NIC filter,
like Linux's ethtool".
And I heard same idea in last BSDCan, but there's still no proposal of
"generic interface for NIC filter", I suppose.
So, honestly I haven't good idea to merge the change.
Is there any people who has good idea to handle this?

Or, just merge this patch would be fine?


2013/9/27 hiren panchasara 

>
>
>
> On Thu, Sep 26, 2013 at 10:38 AM, hiren panchasara <
> hiren.panchas...@gmail.com> wrote:
>
>>
>>
>>
>> On Thu, Sep 26, 2013 at 12:58 AM, Michio Honda wrote:
>>
>>> Hi,
>>>
>>> The handiest way to try flexible flow distribution is using Flow
>>> Director.
>>> I've confirmed that the patch posted to this list two years ago works
>>> with netmap/ixgbe.
>>>
>>> http://freebsd.1045724.n5.nabble.com/Adding-Flow-Director-sysctls-to-ixgbe-4-td4769489.html
>>>
>>
>> Thanks a lot for the link, Michio!
>>
>> It seems this work is yet not committed?!?
>>
>
> Takuya,
>
> I see a lot of responses/comments on proposed changes. Was anything
> decided at the end of it? As far as I can tell, its still not committed to
> the tree.
>
> Thanks,
> Hiren
>
>
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: kern/172113: [panic] [e1000] [patch] 9.1-RC1/amd64 panices in igb(4): m_getjcl: invalid cluster type

2013-09-27 Thread Eugene Grosbein
The following reply was made to PR kern/172113; it has been noted by GNATS.

From: Eugene Grosbein 
To: bug-follo...@freebsd.org
Cc: Jack Vogel , George Neville-Neil ,
John Baldwin 
Subject: Re: kern/172113: [panic] [e1000] [patch] 9.1-RC1/amd64 panices in
 igb(4): m_getjcl: invalid cluster type
Date: Fri, 27 Sep 2013 15:31:58 +0700

 Hi!
 
 Audit-Trail of http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/172113
 has more than enough patches to fix the problem.
 
 Would someone be so kind to commit one of them so 9.2-RELEASE
 won't be broken out-of-the-box for noted Supermicro's?
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Adding Flow Director sysctls to ixgbe(4) (was: netmap: traffic distribution)

2013-09-27 Thread Adrian Chadd
On 27 September 2013 00:43, hiren panchasara wrote:


> Takuya,
>
> I see a lot of responses/comments on proposed changes. Was anything decided
> at the end of it? As far as I can tell, its still not committed to the
> tree.
>

I'd rather see an ioctl API for that chipset and then have a separate tool
program it for now.

So, how bout we hack that up? :)



-adrian
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Adding Flow Director sysctls to ixgbe(4) (was: netmap: traffic distribution)

2013-09-27 Thread hiren panchasara
On Thu, Sep 26, 2013 at 10:38 AM, hiren panchasara <
hiren.panchas...@gmail.com> wrote:

>
>
>
> On Thu, Sep 26, 2013 at 12:58 AM, Michio Honda wrote:
>
>> Hi,
>>
>> The handiest way to try flexible flow distribution is using Flow Director.
>> I've confirmed that the patch posted to this list two years ago works
>> with netmap/ixgbe.
>>
>> http://freebsd.1045724.n5.nabble.com/Adding-Flow-Director-sysctls-to-ixgbe-4-td4769489.html
>>
>
> Thanks a lot for the link, Michio!
>
> It seems this work is yet not committed?!?
>

Takuya,

I see a lot of responses/comments on proposed changes. Was anything decided
at the end of it? As far as I can tell, its still not committed to the
tree.

Thanks,
Hiren
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"