Eric Dumazet [off-list ref] writes:
+
+ if (!sock_owned_by_user(sk)) {
+ if ((1 << sk->sk_state) &
+ (TCPF_ESTABLISHED | TCPF_FIN_WAIT1 |
+ TCPF_CLOSING | TCPF_CLOSE_WAIT))
+ tcp_write_xmit(sk,
+ tcp_current_mss(sk),
+ 0, 0,
+ GFP_ATOMIC);
Did you have any problems with the GFP_ATOMIC allocation failing here?
I think you move some skb allocs from process context to ATOMIC, right?
It relies on the VM somehow catching up in another context.
May be interesting to try out under very high memory pressure.
-Andi
--
ak@linux.intel.com -- Speaking for myself only