All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eliezer Tamir <eliezer.tamir@linux.intel.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Or Gerlitz <or.gerlitz@gmail.com>,
	David Miller <davem@davemloft.net>,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	Jesse Brandeburg <jesse.brandeburg@intel.com>,
	Don Skidmore <donald.c.skidmore@intel.com>,
	e1000-devel@lists.sourceforge.net,
	Willem de Bruijn <willemb@google.com>,
	Andi Kleen <andi@firstfloor.org>, HPA <hpa@zytor.com>,
	Eilon Greenstien <eilong@broadcom.com>,
	Alex Rosenbaum <alexr@mellanox.com>,
	Eliezer Tamir <eliezer@tamir.org.il>
Subject: Re: [PATCH v6 net-next 2/5] net: implement support for low latency socket polling
Date: Thu, 30 May 2013 08:58:33 +0300	[thread overview]
Message-ID: <51A6EA89.2070802@linux.intel.com> (raw)
In-Reply-To: <1369854520.5109.79.camel@edumazet-glaptop>

On 29/05/2013 22:08, Eric Dumazet wrote:
> On Wed, 2013-05-29 at 21:52 +0300, Or Gerlitz wrote:
>> Eliezer Tamir <eliezer.tamir@linux.intel.com> wrote:
>>> Or Gerlitz wrote:
>>
>>>> Unlike with TCP sockets, UDP sockets may receive packets from multiple
>>>> sources and hence the receiving context may be steered to be executed
>>>> on different cores through RSS or other Flow-Steering HW mechanisms
>>>> which could mean different napi contexts for the same socket, is that
>>>> a problem here? what's the severity?
>>
>>> Nothing will break if you poll on the wrong queue.
>>> Your data will come through normal NAPI processing of the right queue.
>>
>> Can you elaborate a little further, why you call this "wrong" and "right"?
>> --
>
> This definitely need some documentation, because before llpoll, device
> RX path was serviced by the cpu receiving the harwdare interrupt.
>
> So the "wrong" queue could add false sharing, and wrong NUMA
> allocations.

Yes,
To work properly when you have more than one NUMA node, you have to have 
packet steering set up, either by your NIC or by HW accelerated RFS.

I would like to add a short writeup of the design and suggested 
configuration. Where should it go?

WARNING: multiple messages have this Message-ID (diff)
From: Eliezer Tamir <eliezer.tamir@linux.intel.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Willem de Bruijn <willemb@google.com>,
	Or Gerlitz <or.gerlitz@gmail.com>,
	e1000-devel@lists.sourceforge.net, netdev@vger.kernel.org,
	HPA <hpa@zytor.com>,
	Jesse Brandeburg <jesse.brandeburg@intel.com>,
	Alex Rosenbaum <alexr@mellanox.com>,
	linux-kernel@vger.kernel.org,
	Eliezer Tamir <eliezer@tamir.org.il>,
	Andi Kleen <andi@firstfloor.org>,
	Eilon Greenstien <eilong@broadcom.com>,
	David Miller <davem@davemloft.net>
Subject: Re: [PATCH v6 net-next 2/5] net: implement support for low latency socket polling
Date: Thu, 30 May 2013 08:58:33 +0300	[thread overview]
Message-ID: <51A6EA89.2070802@linux.intel.com> (raw)
In-Reply-To: <1369854520.5109.79.camel@edumazet-glaptop>

On 29/05/2013 22:08, Eric Dumazet wrote:
> On Wed, 2013-05-29 at 21:52 +0300, Or Gerlitz wrote:
>> Eliezer Tamir <eliezer.tamir@linux.intel.com> wrote:
>>> Or Gerlitz wrote:
>>
>>>> Unlike with TCP sockets, UDP sockets may receive packets from multiple
>>>> sources and hence the receiving context may be steered to be executed
>>>> on different cores through RSS or other Flow-Steering HW mechanisms
>>>> which could mean different napi contexts for the same socket, is that
>>>> a problem here? what's the severity?
>>
>>> Nothing will break if you poll on the wrong queue.
>>> Your data will come through normal NAPI processing of the right queue.
>>
>> Can you elaborate a little further, why you call this "wrong" and "right"?
>> --
>
> This definitely need some documentation, because before llpoll, device
> RX path was serviced by the cpu receiving the harwdare interrupt.
>
> So the "wrong" queue could add false sharing, and wrong NUMA
> allocations.

Yes,
To work properly when you have more than one NUMA node, you have to have 
packet steering set up, either by your NIC or by HW accelerated RFS.

I would like to add a short writeup of the design and suggested 
configuration. Where should it go?

------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
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	other threads:[~2013-05-30  5:58 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-29  6:39 [PATCH v6 net-next 0/5] net: low latency Ethernet device polling Eliezer Tamir
2013-05-29  6:39 ` [PATCH v6 net-next 1/5] net: add napi_id and hash Eliezer Tamir
2013-05-29  6:39   ` Eliezer Tamir
2013-05-29 12:56   ` Eric Dumazet
2013-05-29 13:09     ` David Laight
2013-05-29 13:09       ` David Laight
2013-05-29 13:43       ` Eric Dumazet
2013-05-29 13:43         ` Eric Dumazet
2013-05-29 15:04     ` Eliezer Tamir
2013-05-29 20:09   ` Ben Hutchings
2013-05-29 20:09     ` Ben Hutchings
2013-05-30  6:51     ` Eliezer Tamir
2013-05-30  6:51       ` Eliezer Tamir
2013-05-29  6:39 ` [PATCH v6 net-next 2/5] net: implement support for low latency socket polling Eliezer Tamir
2013-05-29  6:39   ` Eliezer Tamir
2013-05-29 13:37   ` Eric Dumazet
2013-05-29 13:37     ` Eric Dumazet
2013-05-29 13:42     ` David Laight
2013-05-29 13:42       ` David Laight
2013-05-29 13:48       ` Eric Dumazet
2013-05-29 13:48         ` Eric Dumazet
2013-05-29 14:01     ` Eliezer Tamir
2013-05-29 14:01       ` Eliezer Tamir
2013-05-29 14:20       ` yaniv saar
2013-05-29 15:01         ` Eliezer Tamir
2013-05-29 14:14   ` Or Gerlitz
2013-05-29 14:14     ` Or Gerlitz
2013-05-29 14:40     ` yaniv saar
2013-05-29 14:59     ` Eliezer Tamir
2013-05-29 14:59       ` Eliezer Tamir
2013-05-29 18:52       ` Or Gerlitz
2013-05-29 18:52         ` Or Gerlitz
2013-05-29 19:08         ` Eric Dumazet
2013-05-29 19:08           ` Eric Dumazet
2013-05-30  5:58           ` Eliezer Tamir [this message]
2013-05-30  5:58             ` Eliezer Tamir
2013-05-30  6:04         ` Eliezer Tamir
2013-05-30  6:04           ` Eliezer Tamir
2013-05-29 20:20     ` Ben Hutchings
2013-05-29 20:20       ` Ben Hutchings
2013-05-29  6:39 ` [PATCH v6 net-next 3/5] tcp: add TCP support for low latency receive poll Eliezer Tamir
2013-05-29  6:39   ` Eliezer Tamir
2013-05-29 13:38   ` Eric Dumazet
2013-05-29 13:38     ` Eric Dumazet
2013-05-29  6:39 ` [PATCH v6 net-next 4/5] ixgbe: Add support for ndo_ll_poll Eliezer Tamir
2013-05-29  6:39   ` Eliezer Tamir
2013-05-29  6:40 ` [PATCH v6 net-next 5/5] ixgbe: add extra stats " Eliezer Tamir
2013-05-29  6:40   ` Eliezer Tamir

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51A6EA89.2070802@linux.intel.com \
    --to=eliezer.tamir@linux.intel.com \
    --cc=alexr@mellanox.com \
    --cc=andi@firstfloor.org \
    --cc=davem@davemloft.net \
    --cc=donald.c.skidmore@intel.com \
    --cc=e1000-devel@lists.sourceforge.net \
    --cc=eilong@broadcom.com \
    --cc=eliezer@tamir.org.il \
    --cc=eric.dumazet@gmail.com \
    --cc=hpa@zytor.com \
    --cc=jesse.brandeburg@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=or.gerlitz@gmail.com \
    --cc=willemb@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.