[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1382379876.3284.76.camel@edumazet-glaptop.roam.corp.google.com>
Date: Mon, 21 Oct 2013 11:24:36 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Jimmy PERCHET <jimmy.perchet@...rot.com>
Cc: Giuseppe CAVALLARO <peppe.cavallaro@...com>, netdev@...r.kernel.org
Subject: Re: [PATCH RFC 5/5] net:stmmac: asynchronous tx_clean
On Mon, 2013-10-21 at 20:05 +0200, Jimmy PERCHET wrote:
> I understand your point. Nevertheless I think it is still possible
> to avoid serialization, and therefore increase performance, even if
> completions must remain in softirq. What do you think ?
I think this will break over time. This kind of 'optimizations' work on
a particular workload, and thats it. It reminds me the 'skb recycle'
thing.
The workload you try to optimize might conflict with other workloads.
Have you tried to reduce the 64 value in netif_napi_add() ?
>
> In my patch I tried to avoid any race condition. (by updating both
> descriptor's cursors only once, for instance)
> Could you explain the possible race you see ?
Well, take a look at netif_queue_stopped(), netif_wake_queue(),
netif_queue_stopped() calls for a start.
Its really hard to make start_xmit() lockless (versus TX completion).
Adding atomic_t wont be enough (and btw thats often not needed at all)
drivers/net/ethernet/broadcom/tg3.c is a good reference if you really
want to do that properly.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists