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

2013-06-10 Thread Eliezer Tamir
On 11/06/2013 07:24, David Miller wrote: > From: Eliezer Tamir > 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, and since this went thr

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

2013-06-10 Thread David Miller
From: Eliezer Tamir 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, and since this went through so many iterations I included the changelog too

Re: [E1000-devel] [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 > 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 commit, > including

Re: [E1000-devel] [PATCH 7/7] NET: intel/ixgbevf/ixgbevf_main.c: fix 32-bit DMA mask handling

2013-06-10 Thread Jeff Kirsher
On Tue, 2013-06-11 at 00:15 +0100, Russell King wrote: > > The fallback to 32-bit DMA mask is rather odd: > if (!dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)) && > !dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64))) { > pci_using_dac = 1; > } else { >

Re: [E1000-devel] [PATCH 4/7] NET: intel/igbvf/netdev.c: fix 32-bit DMA mask handling

2013-06-10 Thread Jeff Kirsher
On Tue, 2013-06-11 at 00:12 +0100, Russell King wrote: > The fallback to 32-bit DMA mask is rather odd: > err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)); > if (!err) { > err = dma_set_coherent_mask(&pdev->dev, > DMA_BIT_MASK(64)); > if (!err) >

Re: [E1000-devel] [PATCH 2/7] NET: intel/e1000e/netdev.c: fix 32-bit DMA mask handling

2013-06-10 Thread Jeff Kirsher
On Tue, 2013-06-11 at 00:10 +0100, Russell King wrote: > The fallback to 32-bit DMA mask is rather odd: > err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)); > if (!err) { > err = dma_set_coherent_mask(&pdev->dev, > DMA_BIT_MASK(64)); > if (!err) >

Re: [E1000-devel] [PATCH 5/7] NET: intel/ixgb/ixgb_main.c: fix 32-bit DMA mask handling

2013-06-10 Thread Jeff Kirsher
On Tue, 2013-06-11 at 00:13 +0100, Russell King wrote: > The fallback to 32-bit DMA mask is rather odd: > err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)); > if (!err) { > err = dma_set_coherent_mask(&pdev->dev, > DMA_BIT_MASK(64)); > if (!err) >

Re: [E1000-devel] [PATCH 6/7] NET: intel/ixgbe/ixgbe_main.c: fix 32-bit DMA mask handling

2013-06-10 Thread Jeff Kirsher
On Tue, 2013-06-11 at 00:14 +0100, Russell King wrote: > The fallback to 32-bit DMA mask is rather odd: > if (!dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)) && > !dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64))) { > pci_using_dac = 1; > } else { >

Re: [E1000-devel] [PATCH 3/7] NET: intel/igb/igb_main.c: fix 32-bit DMA mask handling

2013-06-10 Thread Jeff Kirsher
On Tue, 2013-06-11 at 00:11 +0100, Russell King wrote: > The fallback to 32-bit DMA mask is rather odd: > err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)); > if (!err) { > err = dma_set_coherent_mask(&pdev->dev, > DMA_BIT_MASK(64)); > if (!err) >

[E1000-devel] [PATCH 7/7] NET: intel/ixgbevf/ixgbevf_main.c: fix 32-bit DMA mask handling

2013-06-10 Thread Russell King
The fallback to 32-bit DMA mask is rather odd: if (!dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)) && !dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64))) { pci_using_dac = 1; } else { err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));

[E1000-devel] [PATCH 6/7] NET: intel/ixgbe/ixgbe_main.c: fix 32-bit DMA mask handling

2013-06-10 Thread Russell King
The fallback to 32-bit DMA mask is rather odd: if (!dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)) && !dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64))) { pci_using_dac = 1; } else { err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));

[E1000-devel] [PATCH 5/7] NET: intel/ixgb/ixgb_main.c: fix 32-bit DMA mask handling

2013-06-10 Thread Russell King
The fallback to 32-bit DMA mask is rather odd: err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)); if (!err) { err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64)); if (!err) pci_using_dac = 1; } else {

[E1000-devel] [PATCH 4/7] NET: intel/igbvf/netdev.c: fix 32-bit DMA mask handling

2013-06-10 Thread Russell King
The fallback to 32-bit DMA mask is rather odd: err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)); if (!err) { err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64)); if (!err) pci_using_dac = 1; } else {

[E1000-devel] [PATCH 3/7] NET: intel/igb/igb_main.c: fix 32-bit DMA mask handling

2013-06-10 Thread Russell King
The fallback to 32-bit DMA mask is rather odd: err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)); if (!err) { err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64)); if (!err) pci_using_dac = 1; } else {

[E1000-devel] [PATCH 2/7] NET: intel/e1000e/netdev.c: fix 32-bit DMA mask handling

2013-06-10 Thread Russell King
The fallback to 32-bit DMA mask is rather odd: err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)); if (!err) { err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64)); if (!err) pci_using_dac = 1; } else {

[E1000-devel] [RFC 0/7] Fixing dma mask setting in various network drivers

2013-06-10 Thread Russell King - ARM Linux
While looking at the way coherent DMA masks are handled (and the fact many drivers write directly to the mask) I stumbled across this set of oddities in various network drivers, which looks like it's been cut'n'pasted. I haven't yet tested these patches in any way, which is one reason I'm sending

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

2013-06-10 Thread David Miller
From: Eliezer Tamir 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. > > Please consider applying. > > Thanks to everyone for their input. There used to be a really nice, detailed and verbose,

[E1000-devel] Banner Junho de 2013

2013-06-10 Thread Refrimur
  Problemas para visualizar a mensagem? Acesse aqui   Clique para não receber nossos emails     -- This SF.net email is sponsored by Windo

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

2013-06-10 Thread Willem de Bruijn
On Mon, Jun 10, 2013 at 10:31 AM, Eric Dumazet wrote: > On Mon, 2013-06-10 at 11:40 +0300, Eliezer Tamir wrote: >> Add upport for busy-polling on UDP sockets. >> In __udp[46]_lib_rcv add a call to sk_mark_ll() to copy the napi_id >> from the skb into the sk. >> This is done at the earliest possibl

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

2013-06-10 Thread Willem de Bruijn
On Mon, Jun 10, 2013 at 5:22 AM, Eric Dumazet wrote: > On Mon, 2013-06-10 at 11:39 +0300, Eliezer Tamir wrote: >> 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

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

2013-06-10 Thread Willem de Bruijn
On Mon, Jun 10, 2013 at 10:32 AM, Eric Dumazet wrote: > On Mon, 2013-06-10 at 11:40 +0300, Eliezer Tamir wrote: >> Adds low latency socket poll support for TCP. >> In tcp_v[46]_rcv() add a call to sk_mark_ll() to copy the napi_id >> from the skb to the sk. >> In tcp_recvmsg(), when there is no dat

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

2013-06-10 Thread Willem de Bruijn
On Mon, Jun 10, 2013 at 10:29 AM, Eric Dumazet wrote: > On Mon, 2013-06-10 at 11:39 +0300, Eliezer Tamir wrote: >> Adds an ndo_ll_poll method and the code that supports it. >> This method can be used by low latency applications to busy-poll >> Ethernet device queues directly from the socket code.

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

2013-06-10 Thread Eric Dumazet
On Mon, 2013-06-10 at 11:40 +0300, Eliezer Tamir wrote: > Add the ixgbe driver code implementing ndo_ll_poll. > Adds ndo_ll_poll method and locking between it and the napi poll. > When receiving a packet we use skb_mark_ll to record the napi it came from. > Add each napi to the napi_hash right afte

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

2013-06-10 Thread Eric Dumazet
On Mon, 2013-06-10 at 11:40 +0300, Eliezer Tamir wrote: > Add upport for busy-polling on UDP sockets. > In __udp[46]_lib_rcv add a call to sk_mark_ll() to copy the napi_id > from the skb into the sk. > This is done at the earliest possible moment, right after we identify > which socket this skb is

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

2013-06-10 Thread Eric Dumazet
On Mon, 2013-06-10 at 11:39 +0300, Eliezer Tamir wrote: > Adds an ndo_ll_poll method and the code that supports it. > This method can be used by low latency applications to busy-poll > Ethernet device queues directly from the socket code. > sysctl_net_ll_poll controls how many microseconds to poll.

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

2013-06-10 Thread Eric Dumazet
On Mon, 2013-06-10 at 11:40 +0300, Eliezer Tamir wrote: > Adds low latency socket poll support for TCP. > In tcp_v[46]_rcv() add a call to sk_mark_ll() to copy the napi_id > from the skb to the sk. > In tcp_recvmsg(), when there is no data in the socket we busy-poll. > This is a good example of how

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

2013-06-10 Thread Eric Dumazet
On Mon, 2013-06-10 at 11:39 +0300, Eliezer Tamir wrote: > 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 > --- >

[E1000-devel] [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 Signed-off-by: Jesse Brandeburg Signed-off-by: Eliezer Tamir --- drivers/net/ethernet/intel/ixgbe/ixgbe.h | 14 drivers/net/ethernet/intel/ixgbe/ixgb

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

2013-06-10 Thread Eliezer Tamir
Add the ixgbe driver code implementing ndo_ll_poll. Adds ndo_ll_poll method and locking between it and the napi poll. When receiving a packet we use skb_mark_ll to record the napi it came from. Add each napi to the napi_hash right after netif_napi_add(). Signed-off-by: Alexander Duyck Signed-off-

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

2013-06-10 Thread Eliezer Tamir
Add upport for busy-polling on UDP sockets. In __udp[46]_lib_rcv add a call to sk_mark_ll() to copy the napi_id from the skb into the sk. This is done at the earliest possible moment, right after we identify which socket this skb is for. In __skb_recv_datagram When there is no data and the user tri

[E1000-devel] [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 --- include/linux/netdevice.h | 29 ++ net/core/dev

[E1000-devel] [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

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

2013-06-10 Thread Eliezer Tamir
Adds an ndo_ll_poll method and the code that supports it. This method can be used by low latency applications to busy-poll Ethernet device queues directly from the socket code. sysctl_net_ll_poll controls how many microseconds to poll. Default is zero (disabled). Individual protocol support will be

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

2013-06-10 Thread Eliezer Tamir
Adds low latency socket poll support for TCP. In tcp_v[46]_rcv() add a call to sk_mark_ll() to copy the napi_id from the skb to the sk. In tcp_recvmsg(), when there is no data in the socket we busy-poll. This is a good example of how to add busy-poll support to more protocols. Signed-off-by: Alexa