linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eliezer Tamir <eliezer.tamir@linux.intel.com>
To: Eric Dumazet <eric.dumazet@gmail.com>, Dave Miller <davem@davemloft.net>
Cc: 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>,
	Or Gerlitz <or.gerlitz@gmail.com>,
	Alex Rosenbaum <alexr@mellanox.com>,
	Eliezer Tamir <eliezer@tamir.org.il>
Subject: Re: [PATCH v5 net-next 3/5] tcp: add TCP support for low latency receive poll.
Date: Tue, 28 May 2013 11:26:09 +0300	[thread overview]
Message-ID: <51A46A21.9060305@linux.intel.com> (raw)
In-Reply-To: <1369701413.3301.506.camel@edumazet-glaptop>

On 28/05/2013 03:36, Eric Dumazet wrote:
> On Mon, 2013-05-27 at 10:44 +0300, Eliezer Tamir wrote:
>> adds busy-poll support for TCP.
>>
>
> Really, this is a small changelog for such an addition :(

OK


> How poll()/epoll() is supported ?

poll()/select() are done by the code added to fs/select.c in 2/5.
epoll() is not yet supported.

>> diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
>> index 9579e1a..4d82939 100644
>> --- a/net/ipv4/tcp_input.c
>> +++ b/net/ipv4/tcp_input.c
>> @@ -74,6 +74,7 @@
>>   #include <linux/ipsec.h>
>>   #include <asm/unaligned.h>
>>   #include <net/netdma.h>
>> +#include <net/ll_poll.h>
>>
>
> Not sure why this include is needed in this file ?
>
> You added nothing else but this line.

This is a mistake, a remnant from an earlier version when sk_mark_ll() 
was where we copy data to the socket.
I will remove it.

>>   #include <net/netdma.h>
>>   #include <net/secure_seq.h>
>>   #include <net/tcp_memcontrol.h>
>> +#include <net/ll_poll.h>
>>
>>   #include <linux/inet.h>
>>   #include <linux/ipv6.h>
>> @@ -2011,6 +2012,7 @@ process:
>>   	if (sk_filter(sk, skb))
>>   		goto discard_and_relse;
>>
>> +	sk_mark_ll(sk, skb);
>>   	skb->dev = NULL;
>>
>>   	bh_lock_sock_nested(sk);
>
> How IPv6 is handled ?

IPv6 is currently not supported (it was not supported in any version of
this patch set, the POC code in fact was hard-codded for UDPv4/TCPv4).

If there is interest, I will add it, I think it will not be complicated.
However, I would prefer to wait with that for a second stage.

My main concern is that adding IPv6 will significantly increase my
  testing effort, which is already 90% of what I'm spending time on.

IMHO epoll() and a more robust support for select()/poll() should have
a higher priority, but I'm open to suggestions.

I would like to get what we have so far applied so more people can try
it, then work on all of the other things that we need.

Dave, I would like to hear your opinion on this, please.

-Eliezer

  reply	other threads:[~2013-05-28  8:26 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-27  7:43 [PATCH v5 net-next 0/5] net: low latency Ethernet device polling Eliezer Tamir
2013-05-27  7:44 ` [PATCH v5 net-next 1/5] net: add napi_id and hash Eliezer Tamir
2013-05-28  0:28   ` Eric Dumazet
2013-05-28  8:03     ` Eliezer Tamir
2013-05-28 13:38       ` Eric Dumazet
2013-05-28 13:41         ` Eliezer Tamir
2013-05-27  7:44 ` [PATCH v5 net-next 2/5] net: implement support for low latency socket polling Eliezer Tamir
2013-05-28  0:26   ` Eric Dumazet
2013-05-28  8:04     ` Eliezer Tamir
2013-05-27  7:44 ` [PATCH v5 net-next 3/5] tcp: add TCP support for low latency receive poll Eliezer Tamir
2013-05-28  0:36   ` Eric Dumazet
2013-05-28  8:26     ` Eliezer Tamir [this message]
2013-05-28 12:15       ` Eliezer Tamir
2013-05-28 13:44         ` Eric Dumazet
2013-05-27  7:44 ` [PATCH v5 net-next 4/5] ixgbe: Add support for ndo_ll_poll Eliezer Tamir
2013-05-27  7:44 ` [PATCH v5 net-next 5/5] ixgbe: add extra stats " Eliezer Tamir
2013-05-28  0:35 ` [PATCH v5 net-next 0/5] net: low latency Ethernet device polling Eric Dumazet
2013-05-28  8:29   ` 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=51A46A21.9060305@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).