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
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
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
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 {
>
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)
>
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)
>
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)
>
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 {
>
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)
>
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));
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));
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 {
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 {
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 {
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 {
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
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,
Problemas para visualizar a mensagem? Acesse aqui
Clique para não receber nossos emails
--
This SF.net email is sponsored by Windo
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
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
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
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.
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
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
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.
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
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
> ---
>
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
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-
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
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
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
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
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
34 matches
Mail list logo