Re: PATCH 2.6.24-rc3-mm2 - build breakage - bnx2x depends on ZLIB_INFLATE

2007-11-29 Thread Eliezer Tamir
or by building another module that automatically selects it. Modify BNX2X config option to 'select ZLIB_INFLATE' like BNX2 and others. This seems to fix it. Signed-off-by: Lee Schermerhorn [EMAIL PROTECTED] You are right. My mistake, Thanks. Acked-by: Eliezer Tamir [EMAIL PROTECTED

Re: [RFC PATCH 0/5] net: low latency Ethernet device polling

2013-03-02 Thread Eliezer Tamir
On 01/03/2013 23:24, David Miller wrote: From: Eliezer Tamir eliezer.ta...@linux.jf.intel.com Date: Wed, 27 Feb 2013 09:55:49 -0800 This patchset adds the ability for the socket layer code to poll directly on an Ethernet device's RX queue. This eliminates the cost of the interrupt and context

Re: [RFC PATCH 0/5] net: low latency Ethernet device polling

2013-03-04 Thread Eliezer Tamir
On 04/03/2013 09:37, Cong Wang wrote: On 02/28/2013 01:55 AM, Eliezer Tamir wrote: Open issues: 1. Find a way to avoid the need to change the sk and skb structs. One big disadvantage of how we do this right now is that when a device is removed, it's hard to prevent it from getting polled

Re: [RFC PATCH 1/5] net: implement support for low latency socket polling

2013-03-04 Thread Eliezer Tamir
On 03/03/2013 20:35, Eric Dumazet wrote: On Wed, 2013-02-27 at 09:55 -0800, Eliezer Tamir wrote: index 821c7f4..d1d1016 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -408,6 +408,10 @@ struct sk_buff { struct sock *sk; struct net_device

Re: [RFC PATCH 0/5] net: low latency Ethernet device polling

2013-03-04 Thread Eliezer Tamir
A dumb question: is bypassing tcpdump/netfilters/qdisc etc. what we always want? Isn't this a security issue? We are not bypassing any of the regular stack checks/hooks, we call the normal netif_rx_skb(). correction, netif_receive_skb() -- To unsubscribe from this list: send the line

Re: [RFC PATCH 1/5] net: implement support for low latency socket polling

2013-03-04 Thread Eliezer Tamir
On 04/03/2013 16:52, Eric Dumazet wrote: On Mon, 2013-03-04 at 10:43 +0200, Eliezer Tamir wrote: One could for example increment the generation id every time the RTNL is taken. or is this too much? RTNL is taken for a lot of operations, it would be better to have a finer grained increment

Re: [RFC PATCH 1/5] net: implement support for low latency socket polling

2013-03-05 Thread Eliezer Tamir
On 05/03/2013 18:43, Ben Hutchings wrote: On Wed, 2013-02-27 at 09:55 -0800, Eliezer Tamir wrote: Should the units really be cycles or, say, microseconds? I assume that a sysctl setter can do a conversion to cycles so that there's no need to multiply every time the value is used. (If the CPU

[RFC PATCH 0/5] net: low latency Ethernet device polling

2013-02-27 Thread Eliezer Tamir
This patchset adds the ability for the socket layer code to poll directly on an Ethernet device's RX queue. This eliminates the cost of the interrupt and context switch and with proper tuning allows us to get very close to the HW latency. This is a follow up to Jesse Brandeburg's Kernel Plumbers

[RFC PATCH 2/5] tcp: add TCP support for low latency receive poll.

2013-02-27 Thread Eliezer Tamir
an example of how one could add support for ndo_ll_poll to TCP. Signed-off-by: Alexander Duyck alexander.h.du...@intel.com Signed-off-by: Jesse Brandeburg jesse.brandeb...@intel.com Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- net/ipv4/Kconfig | 11 +++ net/ipv4

[RFC PATCH 3/5] ixgbe: Add support for ndo_ll_poll

2013-02-27 Thread Eliezer Tamir
-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- drivers/net/ethernet/intel/ixgbe/ixgbe.h | 96 + drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 65 +++-- 2 files changed, 152 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/intel

[RFC PATCH 4/5] ixgbe: add extra stats for ndo_ll_poll

2013-02-27 Thread Eliezer Tamir
Add additional statistics to the ixgbe driver for ndo_ll_poll Defined under LL_EXTENDED_STATS Signed-off-by: Alexander Duyck alexander.h.du...@intel.com Signed-off-by: Jesse Brandeburg jesse.brandeb...@intel.com Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- drivers/net/ethernet

[RFC PATCH 5/5] ixgbe: kprobes latency test module

2013-02-27 Thread Eliezer Tamir
A module to measure time between two symbols. For each delta compile with EXTRA_CFLAGS=-DSTAGE=$stage where stage is from 0 to 20 Signed-off-by: Alexander Duyck alexander.h.du...@intel.com Signed-off-by: Jesse Brandeburg jesse.brandeb...@intel.com Signed-off-by: Eliezer Tamir eliezer.ta

[RFC PATCH 1/5] net: implement support for low latency socket polling

2013-02-27 Thread Eliezer Tamir
-by: Alexander Duyck alexander.h.du...@intel.com Signed-off-by: Jesse Brandeburg jesse.brandeb...@intel.com Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- include/linux/netdevice.h |3 ++ include/linux/skbuff.h |4 ++ include/net/ll_poll.h | 71

Re: [RFC PATCH 0/5] net: low latency Ethernet device polling

2013-02-27 Thread Eliezer Tamir
On 27/02/2013 20:47, Tom Herbert wrote: On Wed, Feb 27, 2013 at 10:13 AM, Stephen Hemminger step...@networkplumber.org wrote: Have you looked at netmap? Seems like a cleaner user API for this. That might be a bit orthogonal to this. I believe the intent it to allow spin polling from socket

Re: [RFC PATCH 3/5] ixgbe: Add support for ndo_ll_poll

2013-02-27 Thread Eliezer Tamir
On 27/02/2013 20:41, Eric Dumazet wrote: On Wed, 2013-02-27 at 09:56 -0800, Eliezer Tamir wrote: @@ -1458,7 +1459,9 @@ static void ixgbe_rx_skb(struct ixgbe_q_vector *q_vector, { struct ixgbe_adapter *adapter = q_vector-adapter; - if (!(adapter-flags IXGBE_FLAG_IN_NETPOLL

Re: [RFC PATCH 0/5] net: low latency Ethernet device polling

2013-02-27 Thread Eliezer Tamir
On 27/02/2013 21:58, Rick Jones wrote: On 02/27/2013 09:55 AM, Eliezer Tamir wrote: Performance numbers: Kernel Config C3/6 rx-usecs TCP UDP 3.8rc6 typicaloff adaptive 37k 40k 3.8rc6 typicaloff 0*50k 56k 3.8rc6 optimized off 0*61k 67k 3.8rc6

Re: [RFC PATCH 0/5] net: low latency Ethernet device polling

2013-02-28 Thread Eliezer Tamir
On 27/02/2013 23:42, Ben Greear wrote: On 02/27/2013 12:40 PM, Eliezer Tamir wrote: On 27/02/2013 21:58, Rick Jones wrote: On 02/27/2013 09:55 AM, Eliezer Tamir wrote: *rx-usecs=0 is usually not useful in a production environment. I would think that latency-sensitive folks would be using rx

[PATCH net] busy_poll: cleanup do-nothing placeholders

2013-08-04 Thread Eliezer Tamir
placeholder. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- include/net/busy_poll.h |5 - 1 files changed, 0 insertions(+), 5 deletions(-) diff --git a/include/net/busy_poll.h b/include/net/busy_poll.h index f18b919..8e2dfc1 100644 --- a/include/net/busy_poll.h +++ b/include/net

[PATCH net] net: rename and move busy poll mib counter

2013-08-06 Thread Eliezer Tamir
Move the low latency mib counter to the ip section. Rename it from low latency to busy poll. Reported-by: Shawn Bohrer sboh...@rgmadvisors.com Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- include/net/busy_poll.h |4 ++-- include/uapi/linux/snmp.h |2 +- net/ipv4

Re: [PATCH net] net: rename and move busy poll mib counter

2013-08-06 Thread Eliezer Tamir
On 06/08/2013 13:14, Eric Dumazet wrote: On Tue, 2013-08-06 at 12:52 +0300, Eliezer Tamir wrote: Move the low latency mib counter to the ip section. Rename it from low latency to busy poll. Reported-by: Shawn Bohrer sboh...@rgmadvisors.com Signed-off-by: Eliezer Tamir eliezer.ta

[PATCH net v2] net: rename busy poll MIB counter

2013-08-07 Thread Eliezer Tamir
Rename mib counter from low latency to busy poll v1 also moved the counter to the ip MIB (suggested by Shawn Bohrer) Eric Dumazet suggested that the current location is better. So v2 just renames the counter to fit the new naming convention. Signed-off-by: Eliezer Tamir eliezer.ta

Re: [PATCH RFC net-next] net: epoll support for busy poll

2013-08-23 Thread Eliezer Tamir
On 22/08/2013 23:14, David Miller wrote: From: Eliezer Tamir eliezer.ta...@linux.intel.com Date: Wed, 21 Aug 2013 13:39:54 +0300 +SK_LL_STATE_MISS_2, /* data came through napi poll twice in a row */ Please rename this to SK_LL_STATE_MISS_MULTI or something like that. Thanks. OK

Re: [PATCH RFC net-next] net: epoll support for busy poll

2013-08-23 Thread Eliezer Tamir
On 22/08/2013 23:11, Eric Wong wrote: Eliezer Tamir eliezer.ta...@linux.intel.com wrote: Performance: using sockperf, Intel X520 NICs, Supermicro 6026TT-BTF systems with E5-2690 Xeon CPUs 100 UDP sockets avg. latency 5.756 (std-dev 0.510) 1k UDP sockets avg. latency 5.780 (std-dev 0.536

[PATCH net] net: add cpu_relax to busy poll loop

2013-08-25 Thread Eliezer Tamir
Add a cpu_relaxt to sk_busy_loop. Julie Cummings reported performance issues when hyperthreading is on. Arjan van de Ven observed that we should have a cpu_relax() in the busy poll loop. Reported-by: Julie Cummings julie.a.cummi...@intel.com Signed-off-by: Eliezer Tamir eliezer.ta

Re: [PATCH RFC net-next] net: epoll support for busy poll

2013-08-26 Thread Eliezer Tamir
On 26/08/2013 00:30, Amir Vadai wrote: I'm on vacation, will test and have some inputs later this week when I be back. Hello Amir, Ping me when you get back and I will send you my latest so you can play with it. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the

[PATCH RFC net-next] net: epoll support for busy poll

2013-08-21 Thread Eliezer Tamir
algorithm. Willem de Brujin: advice on style, where to put things, RCU. Special thanks for finding bugs in earlier versions: Julie Cummings. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- fs/eventpoll.c | 131 + include/linux/poll.h|2

Re: [PATCH RFC net-next] net: epoll support for busy poll

2013-08-21 Thread Eliezer Tamir
On 21/08/2013 16:53, Eric Dumazet wrote: On Wed, 2013-08-21 at 13:39 +0300, Eliezer Tamir wrote: Instead of remembering the napi_id for all the sockets in an epoll, we only track the first socket we see with any unique napi_id. The rational for this is that while there may be many thousands

Re: [PATCH net-next] net: rename low latency sockets functions to busy poll

2013-07-09 Thread Eliezer Tamir
On 10/07/2013 02:06, David Miller wrote: From: Jonathan Corbet cor...@lwn.net Date: Tue, 9 Jul 2013 16:25:14 -0600 On Mon, 08 Jul 2013 16:20:34 +0300 Eliezer Tamir eliezer.ta...@linux.intel.com wrote: Rename POLL_LL to POLL_BUSY_LOOP. So pardon me if I speak out of turn, but it occurs

Re: [PATCH net-next] net: rename low latency sockets functions to busy poll

2013-07-09 Thread Eliezer Tamir
On 10/07/2013 07:41, David Miller wrote: From: Eliezer Tamir eliezer.ta...@linux.intel.com Date: Wed, 10 Jul 2013 06:29:16 +0300 If the following names changes are acceptable I will try to send out a patch today. 2. ndo_ll_poll - ndo_busy_poll - not technically accurate since the ndo

[PATCH net-next 3/3] net: rename busy poll socket op and globals

2013-07-10 Thread Eliezer Tamir
Rename LL_SO to BUSY_POLL_SO Rename sysctl_net_ll_{read,poll} to sysctl_busy_{read,poll} Fix up users of these variables. Fix documentation for sysctl. a patch for the socket.7 man page will follow separately, because of limitations of my mail setup. Signed-off-by: Eliezer Tamir eliezer.ta

[PATCH net-next 1/3] net: rename include/net/ll_poll.h to include/net/busy_poll.h

2013-07-10 Thread Eliezer Tamir
Rename the file and correct all the places where it is included. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c |2 drivers/net/ethernet/intel/ixgbe/ixgbe.h|2 drivers/net/ethernet/mellanox/mlx4/en_netdev.c

[PATCH net-next 2/3] net: rename ll methods to busy-poll

2013-07-10 Thread Eliezer Tamir
Rename ndo_ll_poll to ndo_busy_poll. Rename sk_mark_ll to sk_mark_napi_id. Rename skb_mark_ll to skb_mark_napi_id. Correct all useres of these functions. Update comments and defines in include/net/busy_poll.h Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- drivers/net/ethernet

[PATCH net-next v2 3/3] net: rename busy poll socket op and globals

2013-07-10 Thread Eliezer Tamir
Rename LL_SO to BUSY_POLL_SO Rename sysctl_net_ll_{read,poll} to sysctl_busy_{read,poll} Fix up users of these variables. Fix documentation for sysctl. a patch for the socket.7 man page will follow separately, because of limitations of my mail setup. Signed-off-by: Eliezer Tamir eliezer.ta

[PATCH net-next v2 1/3] net: rename include/net/ll_poll.h to include/net/busy_poll.h

2013-07-10 Thread Eliezer Tamir
Rename the file and correct all the places where it is included. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c |2 drivers/net/ethernet/intel/ixgbe/ixgbe.h|2 drivers/net/ethernet/mellanox/mlx4/en_netdev.c

[PATCH net-next v2 2/3] net: rename ll methods to busy-poll

2013-07-10 Thread Eliezer Tamir
-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c |2 +- drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c |2 +- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c|4 ++-- drivers/net/ethernet/mellanox/mlx4/en_netdev.c |2 +- drivers

[PATCH] socket.7: add description for SO_BUSY_POLL

2013-07-10 Thread Eliezer Tamir
Add description for the SO_BUSY_POLL socket option to the socket(7) manpage. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- man7/socket.7 | 25 + 1 files changed, 25 insertions(+), 0 deletions(-) diff --git a/man7/socket.7 b/man7/socket.7 index f2213eb

Re: [PATCH net-next v2 1/3] net: rename include/net/ll_poll.h to include/net/busy_poll.h

2013-07-10 Thread Eliezer Tamir
On 10/07/2013 16:17, Arend van Spriel wrote: On 07/10/2013 02:13 PM, Eliezer Tamir wrote: Rename the file and correct all the places where it is included. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- include/net/busy_poll.h | 183

[PATCH net-next v3 0/3] net: finish renaming lls to busy poll

2013-07-10 Thread Eliezer Tamir
David, Here are three patches that complete the rename of lls to busy-poll 1. rename include/net/ll_poll.h to include/net/busy_poll.h 2. Rename ndo_ll_poll to ndo_busy_poll. Rename sk_mark_ll to sk_mark_napi_id. Rename skb_mark_ll to skb_mark_napi_id. Correct all useres of these

[PATCH net-next v3 2/3] net: rename ll methods to busy-poll

2013-07-10 Thread Eliezer Tamir
Rename ndo_ll_poll to ndo_busy_poll. Rename sk_mark_ll to sk_mark_napi_id. Rename skb_mark_ll to skb_mark_napi_id. Correct all useres of these functions. Update comments and defines in include/net/busy_poll.h Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- drivers/net/ethernet

[PATCH net-next v3 1/3] net: rename include/net/ll_poll.h to include/net/busy_poll.h

2013-07-10 Thread Eliezer Tamir
Rename the file and correct all the places where it is included. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c |2 drivers/net/ethernet/intel/ixgbe/ixgbe.h|2 drivers/net/ethernet/mellanox/mlx4/en_netdev.c

[PATCH v2] socket.7: add description for SO_BUSY_POLL

2013-07-10 Thread Eliezer Tamir
Add description for the SO_BUSY_POLL socket option to the socket(7) manpage. v2 fixed typos reported by Rasmus Villemoes Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- man7/socket.7 | 25 + 1 files changed, 25 insertions(+), 0 deletions(-) diff --git

[PATCH net-next v3 3/3] net: rename busy poll socket op and globals

2013-07-10 Thread Eliezer Tamir
Rename LL_SO to BUSY_POLL_SO Rename sysctl_net_ll_{read,poll} to sysctl_busy_{read,poll} Fix up users of these variables. Fix documentation for sysctl. a patch for the socket.7 man page will follow separately, because of limitations of my mail setup. Signed-off-by: Eliezer Tamir eliezer.ta

Re: [PATCH v2] socket.7: add description for SO_BUSY_POLL

2013-07-10 Thread Eliezer Tamir
On 10/07/2013 21:03, Michael Kerrisk wrote: On 07/10/13 16:18, Eliezer Tamir wrote: Add description for the SO_BUSY_POLL socket option to the socket(7) manpage. What's the status of this feature. A quick grep seems to show that the feature is not yet in mainline. What is the plan? The basic

Re: [PATCH v2 net-next] net: poll/select low latency socket support

2013-06-18 Thread Eliezer Tamir
On 18/06/2013 13:25, Eric Dumazet wrote: On Tue, 2013-06-18 at 11:58 +0300, Eliezer Tamir wrote: @@ -393,6 +394,15 @@ static inline void wait_key_set(poll_table *wait, unsigned long in, wait-_key |= POLLOUT_SET; } +static inline void wait_key_set_lls(poll_table *wait, bool

Re: [PATCH v2 net-next] net: poll/select low latency socket support

2013-06-18 Thread Eliezer Tamir
On 18/06/2013 13:25, Eric Dumazet wrote: On Tue, 2013-06-18 at 11:58 +0300, Eliezer Tamir wrote: @@ -731,7 +755,11 @@ static inline unsigned int do_pollfd(struct pollfd *pollfd, poll_table *pwait) mask = DEFAULT_POLLMASK; if (f.file-f_op

Re: [PATCH v2 net-next] net: poll/select low latency socket support

2013-06-18 Thread Eliezer Tamir
On 18/06/2013 17:35, Eric Dumazet wrote: On Tue, 2013-06-18 at 16:25 +0300, Eliezer Tamir wrote: One other thing, sock_poll() will only ll_poll if the flag was set _and_ the socket has a none-zero value in sk-sk_ll_usec so you still only poll on sockets that were enabled for LLS, not on every

Re: [PATCH v2 net-next] net: poll/select low latency socket support

2013-06-18 Thread Eliezer Tamir
On 18/06/2013 17:45, Eliezer Tamir wrote: On 18/06/2013 17:35, Eric Dumazet wrote: On Tue, 2013-06-18 at 16:25 +0300, Eliezer Tamir wrote: One other thing, sock_poll() will only ll_poll if the flag was set _and_ the socket has a none-zero value in sk-sk_ll_usec so you still only poll

[PATCH v3 net-next 0/1] net: lls select poll support

2013-06-19 Thread Eliezer Tamir
David, Here is a rework of the select/poll patch. One question: do we need in sock_poll() to test that sock-sk is not null? (Thanks to Willem de Bruijn for pointing this out.) When select or poll are used on a lot of sockets the sysctl value needs to be set higher than 50. For 300 sockets a

[PATCH v3 net-next] net: poll/select low latency socket support

2013-06-19 Thread Eliezer Tamir
. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- Documentation/sysctl/net.txt| 18 -- fs/select.c | 34 +- include/net/ll_poll.h | 34 ++ include/uapi/asm-generic

[PATCH RFC] net: lls epoll support

2013-06-19 Thread Eliezer Tamir
-benchmark. [this patch needs the poll patch to be applied first] with sockperf doing epoll on 1000 sockets I see an avg latency of 6us Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- fs/eventpoll.c | 39 +-- 1 files changed, 33 insertions

Re: [PATCH 6/7] sched: Clean up preempt_enable_no_resched() abuse

2013-11-21 Thread Eliezer Tamir
On 21/11/2013 15:39, Peter Zijlstra wrote: On Thu, Nov 21, 2013 at 03:26:17PM +0200, Eliezer Tamir wrote: We don't override any limit the user has put on the system call. You are in fact, note how the normal select @endtime argument is only set up _after_ you're done polling. So

Re: [PATCH 6/7] sched: Clean up preempt_enable_no_resched() abuse

2013-11-25 Thread Eliezer Tamir
On 22/11/2013 13:30, Peter Zijlstra wrote: On Fri, Nov 22, 2013 at 08:56:00AM +0200, Eliezer Tamir wrote: On 21/11/2013 15:39, Peter Zijlstra wrote: On Thu, Nov 21, 2013 at 03:26:17PM +0200, Eliezer Tamir wrote: Please use local_clock(), yes its slightly more expensive, but I doubt you can

Re: [PATCH 7/8] sched, net: Fixup busy_loop_us_clock()

2013-11-28 Thread Eliezer Tamir
On 26/11/2013 17:57, Peter Zijlstra wrote: Replace sched_clock() usage with local_clock() which has a bounded drift between CPUs (2 jiffies). Peter, I have tested this patch and I see a performance regression of about 1.5%. Maybe it would be better, rather then testing in the fast path,

Re: [PATCH 7/8] sched, net: Fixup busy_loop_us_clock()

2013-11-29 Thread Eliezer Tamir
On 28/11/2013 19:40, Peter Zijlstra wrote: On Thu, Nov 28, 2013 at 06:49:00PM +0200, Eliezer Tamir wrote: I have tested this patch and I see a performance regression of about 1.5%. Cute, can you qualify your metric? Since this is a poll loop the only metric that would be interesting

Re: [PATCH 6/7] sched: Clean up preempt_enable_no_resched() abuse

2013-11-20 Thread Eliezer Tamir
On 20/11/2013 18:04, Peter Zijlstra wrote: The only valid use of preempt_enable_no_resched() is if the very next line is schedule() or if we know preemption cannot actually be enabled by that statement due to known more preempt_count 'refs'. The reason I used the no resched version is that

Re: [PATCH v9 net-next 0/7] net: low latency Ethernet device polling

2013-06-08 Thread Eliezer Tamir
On 08/06/2013 00:48, David Miller wrote: From: Eliezer Tamir eliezer.ta...@linux.intel.com Date: Wed, 05 Jun 2013 13:34:00 +0300 And here is v9. Except for typo fixes in comments/description, only 2/7 and 5/7 were changed. Thanks to everyone for their input. Since there is some discussion

[PATCH v10 net-next 1/6] net: add napi_id and hash

2013-06-10 Thread Eliezer Tamir
Adds a napi_id and a hashing mechanism to lookup a napi by id. This will be used by subsequent patches to implement low latency Ethernet device polling. Based on a code sample by Eric Dumazet. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- include/linux/netdevice.h | 29

[PATCH v10 net-next 0/6] net: low latency Ethernet device polling

2013-06-10 Thread Eliezer Tamir
David, I removed the select/poll patch (was 5/7 in v9) from the set. The rest are the same patches that were in v9. Please consider applying. Thanks to everyone for their input. -Eliezer Change log: v10 - removed select/poll support. (we will work on this some more and try again) v9 - correct

[PATCH v10 net-next 2/6] net: add low latency socket poll

2013-06-10 Thread Eliezer Tamir
will be added by subsequent patches. Signed-off-by: Alexander Duyck alexander.h.du...@intel.com Signed-off-by: Jesse Brandeburg jesse.brandeb...@intel.com Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- Documentation/sysctl/net.txt |7 ++ include/linux/netdevice.h|3

[PATCH v10 net-next 3/6] udp: add low latency socket poll support

2013-06-10 Thread Eliezer Tamir
tries to read we busy poll. Signed-off-by: Alexander Duyck alexander.h.du...@intel.com Signed-off-by: Jesse Brandeburg jesse.brandeb...@intel.com Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- net/core/datagram.c |4 net/ipv4/udp.c |6 +- net/ipv6/udp.c

[PATCH v10 net-next 5/6] ixgbe: add support for ndo_ll_poll

2013-06-10 Thread Eliezer Tamir
alexander.h.du...@intel.com Signed-off-by: Jesse Brandeburg jesse.brandeb...@intel.com Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- drivers/net/ethernet/intel/ixgbe/ixgbe.h | 120 + drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c |2 drivers/net/ethernet

[PATCH v10 net-next 4/6] tcp: add low latency socket poll support.

2013-06-10 Thread Eliezer Tamir
-by: Alexander Duyck alexander.h.du...@intel.com Signed-off-by: Jesse Brandeburg jesse.brandeb...@intel.com Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- net/ipv4/tcp.c |5 + net/ipv4/tcp_ipv4.c |2 ++ net/ipv6/tcp_ipv6.c |2 ++ 3 files changed, 9 insertions(+), 0

[PATCH v10 net-next 6/6] ixgbe: add extra stats for ndo_ll_poll

2013-06-10 Thread Eliezer Tamir
Add additional statistics to the ixgbe driver for ndo_ll_poll Defined under LL_EXTENDED_STATS Signed-off-by: Alexander Duyck alexander.h.du...@intel.com Signed-off-by: Jesse Brandeburg jesse.brandeb...@intel.com Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- drivers/net/ethernet

Re: [PATCH v10 net-next 0/6] net: low latency Ethernet device polling

2013-06-10 Thread Eliezer Tamir
On 10/06/2013 23:41, David Miller wrote: From: Eliezer Tamir eliezer.ta...@linux.intel.com Date: Mon, 10 Jun 2013 11:39:30 +0300 I removed the select/poll patch (was 5/7 in v9) from the set. The rest are the same patches that were in v9. Reply to this email with some text to put in the merge

Re: [PATCH v10 net-next 0/6] net: low latency Ethernet device polling

2013-06-11 Thread Eliezer Tamir
On 11/06/2013 07:24, David Miller wrote: From: Eliezer Tamir eliezer.ta...@linux.intel.com Date: Tue, 11 Jun 2013 05:25:42 +0300 Here is the text from the RFC and v2 cover letters, updated and merged. If this is too long, please tell me what you think should be removed. It's perfect

Re: [PATCH v10 net-next 0/6] net: low latency Ethernet device polling

2013-06-11 Thread Eliezer Tamir
On 11/06/2013 10:32, Eric Dumazet wrote: On Tue, 2013-06-11 at 09:49 +0300, Eliezer Tamir wrote: I would like to hear opinions on what needs to be added to make this feature complete. The list I have so far is: 1. add a socket option Yes, please. I do not believe all sockets on the machine

Re: [PATCH v10 net-next 0/6] net: low latency Ethernet device polling

2013-06-11 Thread Eliezer Tamir
On 11/06/2013 11:14, David Miller wrote: From: Eliezer Tamir eliezer.ta...@linux.intel.com Date: Tue, 11 Jun 2013 09:49:31 +0300 I would like to hear opinions on what needs to be added to make this feature complete. I actually would like to see the Kconfig option go away, that's my only

[PATCH net-next 0/2] net: low latency sockets follow ups

2013-06-11 Thread Eliezer Tamir
David, Here are two more patches. Patch 1 removes the config menu for NET_LL_RX_POLL and defaults to y. Patch 2 adds an SO_LL socket option to allow per-socket control of busy polling. The patches do not depend on each other. If one of them needs more work, please consider applying the other.

[PATCH net-next 1/2] net: remove NET_LL_RX_POLL config menue

2013-06-11 Thread Eliezer Tamir
Remove NET_LL_RX_POLL from the config menu. Change default to y. Busy polling still needs to be enabled at runtime via sysctl. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- net/Kconfig | 11 ++- 1 files changed, 2 insertions(+), 9 deletions(-) diff --git a/net

[PATCH net-next 2/2] net:add socket option for low latency polling

2013-06-11 Thread Eliezer Tamir
adds a socket option for low latency polling. This allows overriding the global sysctl value with a per-socket one. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- arch/alpha/include/uapi/asm/socket.h |2 ++ arch/avr32/include/uapi/asm/socket.h |2 ++ arch/cris

[PATCH] sockperf: add SO_LL socketop support

2013-06-11 Thread Eliezer Tamir
Add lls socket option support to sockperf. Right now we always get the option before set to show the option is working properly. We should probably remove that in an official release. use --lls (value in usecs) to override global setting. --- src/Defs.h |3 +++ src/SockPerf.cpp |

Re: [PATCH net-next 2/2] net:add socket option for low latency polling

2013-06-11 Thread Eliezer Tamir
On 11/06/2013 17:45, Eric Dumazet wrote: On Tue, 2013-06-11 at 17:24 +0300, Eliezer Tamir wrote: adds a socket option for low latency polling. This allows overriding the global sysctl value with a per-socket one. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- -static inline

Re: [PATCH net-next 2/2] net:add socket option for low latency polling

2013-06-12 Thread Eliezer Tamir
On 11/06/2013 23:24, Ben Hutchings wrote: On Tue, 2013-06-11 at 17:24 +0300, Eliezer Tamir wrote: adds a socket option for low latency polling. This allows overriding the global sysctl value with a per-socket one. [...] --- a/net/core/sock.c +++ b/net/core/sock.c @@ -913,6 +913,23

Re: [PATCH] sockperf: add SO_LL socketop support

2013-06-12 Thread Eliezer Tamir
On 12/06/2013 11:36, Amir Vadai wrote: On 11/06/2013 17:26, Eliezer Tamir wrote: Add lls socket option support to sockperf. Right now we always get the option before set to show the option is working properly. We should probably remove that in an official release. use --lls (value in usecs

[PATCH v2 net-next 3/3] net: add socket option for low latency polling

2013-06-12 Thread Eliezer Tamir
adds a socket option for low latency polling. This allows overriding the global sysctl value with a per-socket one. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- arch/alpha/include/uapi/asm/socket.h |2 ++ arch/avr32/include/uapi/asm/socket.h |2 ++ arch/cris

[PATCH v2 net-next 2/3] net: change sysctl_net_ll_poll into an unsigned int

2013-06-12 Thread Eliezer Tamir
There is no reason for sysctl_net_ll_poll to be an unsigned long. Change it into an unsigned int. Fix the proc handler. Add a cast in ll_end_time() Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- include/net/ll_poll.h |5 +++-- net/core/sysctl_net_core.c |4 ++-- net

[PATCH v2 net-next 0/3] net: low latency sockets follow ups

2013-06-12 Thread Eliezer Tamir
David, Here are two clean up patches, plus one that adds a socket option for LLS. Patch 1 removes the config menu for NET_LL_RX_POLL and defaults to y. Patch 2 converts sysctl_net_ll_poll into an unsigned int Patch 3 adds an SO_LL socket option to allow per-socket control of busy polling. I

[PATCH v2 net-next 1/3] net: remove NET_LL_RX_POLL config menue

2013-06-12 Thread Eliezer Tamir
Remove NET_LL_RX_POLL from the config menu. Change default to y. Busy polling still needs to be enabled at run time. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- net/Kconfig | 11 ++- 1 files changed, 2 insertions(+), 9 deletions(-) diff --git a/net/Kconfig b/net

[PATCH v2 sockperf] sockperf: add SO_LL socketop support

2013-06-12 Thread Eliezer Tamir
Add lls socket option support. use --lls (value in usecs) to override global setting. Right now we always get and print the value of the option before we set, to show that the option works properly. This should be removed in an official release. --- src/Defs.h |3 +++ src/SockPerf.cpp

Re: [PATCH v2 net-next 2/3] net: change sysctl_net_ll_poll into an unsigned int

2013-06-12 Thread Eliezer Tamir
On 12/06/2013 15:04, Avner Ben Hanoch wrote: Maybe better, I suggest opening an issue in sockperf issue system - https://code.google.com/p/sockperf/issues/list Then anyone can add notes or read/receive them. Thanks, I will do that once the review of the Linux patch is complete. -Eliezer --

Re: [PATCH v2 net-next 3/3] net: add socket option for low latency polling

2013-06-12 Thread Eliezer Tamir
On 12/06/2013 15:44, Eric Dumazet wrote: On Wed, 2013-06-12 at 14:20 +0300, Eliezer Tamir wrote: adds a socket option for low latency polling. This allows overriding the global sysctl value with a per-socket one. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- It seems

Re: [PATCH v2 net-next 3/3] net: add socket option for low latency polling

2013-06-12 Thread Eliezer Tamir
On 12/06/2013 15:54, Eliezer Tamir wrote: On 12/06/2013 15:44, Eric Dumazet wrote: On Wed, 2013-06-12 at 14:20 +0300, Eliezer Tamir wrote: adds a socket option for low latency polling. This allows overriding the global sysctl value with a per-socket one. Signed-off-by: Eliezer Tamir

Re: [PATCH net-next 1/2] net: remove NET_LL_RX_POLL config menue

2013-06-12 Thread Eliezer Tamir
On 13/06/2013 05:01, Stephen Hemminger wrote: On Wed, 12 Jun 2013 15:12:05 -0700 (PDT) David Miller da...@davemloft.net wrote: From: Eliezer Tamir eliezer.ta...@linux.intel.com Date: Tue, 11 Jun 2013 17:24:28 +0300 depends on X86_TSC Wait a second, I didn't notice this before

Re: [PATCH net-next 1/2] net: remove NET_LL_RX_POLL config menue

2013-06-13 Thread Eliezer Tamir
On 13/06/2013 11:00, Daniel Borkmann wrote: On 06/13/2013 04:13 AM, Eliezer Tamir wrote: On 13/06/2013 05:01, Stephen Hemminger wrote: On Wed, 12 Jun 2013 15:12:05 -0700 (PDT) David Miller da...@davemloft.net wrote: From: Eliezer Tamir eliezer.ta...@linux.intel.com Date: Tue, 11 Jun 2013 17

[PATCH v3 net-next 1/4] net: convert low latency sockets to sched_clock()

2013-06-13 Thread Eliezer Tamir
Use sched_clock() instead of get_cycles(). We can use sched_clock() because we don't care much about accuracy. Remove the dependency on X86_TSC Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- include/net/ll_poll.h | 23 +++ net/Kconfig |1 - 2

[PATCH v3 net-next 0/4] net: low latency sockets follow ups

2013-06-13 Thread Eliezer Tamir
David, Here are three clean up patches, plus one that adds a socket option for LLS. Patch 1 converts low latency sockets to sched_clock. Patch 2 removes the config menu for NET_LL_RX_POLL and defaults to y. Patch 3 converts sysctl_net_ll_poll into an unsigned int Patch 4 adds an SO_LL socket

[PATCH v3 net-next 2/4] net: remove NET_LL_RX_POLL config menue

2013-06-13 Thread Eliezer Tamir
Remove NET_LL_RX_POLL from the config menu. Change default to y. Busy polling still needs to be enabled at run time. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- net/Kconfig | 11 ++- 1 files changed, 2 insertions(+), 9 deletions(-) diff --git a/net/Kconfig b/net

[PATCH v3 net-next 3/4] net: change sysctl_net_ll_poll into an unsigned int

2013-06-13 Thread Eliezer Tamir
There is no reason for sysctl_net_ll_poll to be an unsigned long. Change it into an unsigned int. Fix the proc handler. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- include/net/ll_poll.h |2 +- net/core/sysctl_net_core.c |4 ++-- net/socket.c |2

[PATCH v3 net-next 4/4] net: add socket option for low latency polling

2013-06-13 Thread Eliezer Tamir
adds a socket option for low latency polling. This allows overriding the global sysctl value with a per-socket one. Unexport sysctl_net_ll_poll since for now it's not needed in modules. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- arch/alpha/include/uapi/asm/socket.h |2

[PATCH] sockperf: add SO_LL socketop support

2013-06-13 Thread Eliezer Tamir
Add lls socket option support to sockperf. Right now we always get the option before set to show the option is working properly. We should probably remove that in an official release. use --lls (value in usecs) to override global setting. --- src/Defs.h |3 +++ src/SockPerf.cpp |

Re: [PATCH] sockperf: add SO_LL socketop support

2013-06-13 Thread Eliezer Tamir
On 13/06/2013 17:49, Eliezer Tamir wrote: Add lls socket option support to sockperf. Right now we always get the option before set to show the option is working properly. We should probably remove that in an official release. use --lls (value in usecs) to override global setting. Sorry

[PATCH corrected v2 sockperf] sockperf: add SO_LL socketop support

2013-06-13 Thread Eliezer Tamir
Add lls socket option support. use --lls (value in usecs) to override global setting. Right now we always get and print the value of the option before we set, to show that the option works properly. This should be removed in an official release. --- src/Defs.h |3 +++ src/SockPerf.cpp

Re: [PATCH v3 net-next 3/4] net: change sysctl_net_ll_poll into an unsigned int

2013-06-13 Thread Eliezer Tamir
On 13/06/2013 18:31, Eric Dumazet wrote: On Thu, 2013-06-13 at 17:46 +0300, Eliezer Tamir wrote: +extern unsigned int sysctl_net_ll_poll __read_mostly; Oh well, you re-introduce the overflow hint : you defined #define USECS_TO_NS(us) (us 10) ouch! (thanks) -- To unsubscribe from

[PATCH v4 net-next 0/4] net: low latency sockets follow ups

2013-06-13 Thread Eliezer Tamir
David, Here are three clean up patches, plus one that adds a socket option for LLS. Patch 1 converts sysctl_net_ll_poll into an unsigned int Patch 2 converts low latency sockets to sched_clock. Patch 3 removes the config menu for NET_LL_RX_POLL and defaults to y. Patch 4 adds an SO_LL socket

[PATCH v4 net-next 3/4] net: remove NET_LL_RX_POLL config menue

2013-06-13 Thread Eliezer Tamir
Remove NET_LL_RX_POLL from the config menu. Change default to y. Busy polling still needs to be enabled at run time. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- net/Kconfig | 11 ++- 1 files changed, 2 insertions(+), 9 deletions(-) diff --git a/net/Kconfig b/net

[PATCH v4 net-next 1/4] net: change sysctl_net_ll_poll into an unsigned int

2013-06-13 Thread Eliezer Tamir
There is no reason for sysctl_net_ll_poll to be an unsigned long. Change it into an unsigned int. Fix the proc handler. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- include/net/ll_poll.h |5 +++-- net/core/sysctl_net_core.c |4 ++-- net/socket.c

[PATCH v4 net-next 2/4] net: convert low latency sockets to sched_clock()

2013-06-13 Thread Eliezer Tamir
Use sched_clock() instead of get_cycles(). We can use sched_clock() because we don't care much about accuracy. Remove the dependency on X86_TSC Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- include/net/ll_poll.h | 32 +--- net/Kconfig

[PATCH v4 net-next 4/4] net: add socket option for low latency polling

2013-06-13 Thread Eliezer Tamir
adds a socket option for low latency polling. This allows overriding the global sysctl value with a per-socket one. Unexport sysctl_net_ll_poll since for now it's not needed in modules. Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- arch/alpha/include/uapi/asm/socket.h |2

[PATCH v2 sockperf] sockperf: add SO_LL socketop support

2013-06-13 Thread Eliezer Tamir
Add lls socket option support. use --lls (value in usecs) to override global setting. Right now we always get and print the value of the option before we set, to show that the option works properly. This should be removed in an official release. --- src/Defs.h |3 +++ src/SockPerf.cpp

Re: [PATCH v4 net-next 2/4] net: convert low latency sockets to sched_clock()

2013-06-14 Thread Eliezer Tamir
On 14/06/2013 06:12, Eric Dumazet wrote: On Fri, 2013-06-14 at 04:57 +0300, Eliezer Tamir wrote: Use sched_clock() instead of get_cycles(). We can use sched_clock() because we don't care much about accuracy. Remove the dependency on X86_TSC Signed-off-by: Eliezer Tamir eliezer.ta

  1   2   3   4   5   >