From: Eric Dumazet <eric.duma...@gmail.com> Date: Wed, 16 Nov 2016 14:54:50 -0800
> From: Eric Dumazet <eduma...@google.com> > > Callers of netpoll_poll_lock() own NAPI_STATE_SCHED > > Callers of netpoll_poll_unlock() have BH blocked between > the NAPI_STATE_SCHED being cleared and poll_lock is released. > > We can avoid the spinlock which has no contention, and use cmpxchg() > on poll_owner which we need to set anyway. > > This removes a possible lockdep violation after the cited commit, > since sk_busy_loop() re-enables BH before calling busy_poll_stop() > > Fixes: 217f69743681 ("net: busy-poll: allow preemption in sk_busy_loop()") > Signed-off-by: Eric Dumazet <eduma...@google.com> Applied, thanks Eric.