On Thu, 19 Nov 2020 09:30:15 +0100 Björn Töpel wrote: > @@ -105,7 +105,8 @@ static inline void sk_busy_loop(struct sock *sk, int nonblock) > unsigned int napi_id = READ_ONCE(sk->sk_napi_id); > > if (napi_id >= MIN_NAPI_ID) > - napi_busy_loop(napi_id, nonblock ? NULL : sk_busy_loop_end, sk); > + napi_busy_loop(napi_id, nonblock ? NULL : sk_busy_loop_end, sk, > + READ_ONCE(sk->sk_prefer_busy_poll)); Perhaps a noob question, but aren't all accesses to the new sk members under the socket lock? Do we really need the READ_ONCE() / WRITE_ONCE()?