I think the ordinary sk->sleep queue is ok. In case other waiters are
waked too they will just see the sk->shutdown & SEND_SHUT.. flag earlier,
and if the wake up is triggered by other code it is likely that new memory
is available then. Or do I miss something? :)
Of course the timer shouldn't last longer than the linger time - 2*time
of first sock_wmalloc() [as an heuristic]
-Andi
P.S.: I looked over the lock_socks and didn't find anything obvious that
could explain SMP freezes.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/