From: Govindarajulu Varadarajan <_gov...@gmx.com>
Date: Thu, 25 Jun 2015 16:02:04 +0530

> We use spinlock to access a single flag. We can avoid spin_locks by using
> atomic variable and atomic_cmpxchg(). Use atomic_cmpxchg to set the flag
> for idle to poll. And a simple atomic_set to unlock (set idle from poll).
> 
> In napi poll, if gro is enabled, we call napi_gro_receive() to deliver the
> packets. Before we call napi_complete(), i.e while re-polling, if low
> latency busy poll is called, we use netif_receive_skb() to deliver the 
> packets.
> At this point if there are some skb's held in GRO, busy poll could deliver the
> packets out of order. So we call napi_gro_flush() to flush skbs before we
> move the napi poll to idle.
> 
> Signed-off-by: Govindarajulu Varadarajan <_gov...@gmx.com>

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to