On Wed, 2016-06-22 at 11:43 -0700, Eric Dumazet wrote:
> On Wed, 2016-06-22 at 14:18 -0400, Jason Baron wrote:
> > 
> 
> > 
> > For 1/2, the getting the correct memory barrier, should I re-submit
> > that as a separate patch?
> 
> Are you sure a full memory barrier (smp_mb() is needed ?
> 
> Maybe smp_wmb() would be enough ?
> 
> (And smp_rmb() in tcp_poll() ?)

Well, in tcp_poll() smp_mb__after_atomic() is fine as it follows 
set_bit(SOCK_NOSPACE, &sk->sk_socket->flags);

(although we might add a comment why we should keep
sk_set_bit(SOCKWQ_ASYNC_NOSPACE, sk) before the set_bit() !)

But presumably smp_wmb() would be enough in tcp_check_space()





Reply via email to