tcp: tsq: add shortcut in tcp_tasklet_func()
authorEric Dumazet <edumazet@google.com>
Sat, 3 Dec 2016 19:14:52 +0000 (11:14 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 Dec 2016 18:32:22 +0000 (13:32 -0500)
commitb223feb9de2a65c533ff95c08e834fa732906ea5
tree0327e31d3fe77301791b56fd3a4082cb3229737e
parent408f0a6c21e124cc4f6c7aa370b38aa47e55428d
tcp: tsq: add shortcut in tcp_tasklet_func()

Under high stress, I've seen tcp_tasklet_func() consuming
~700 usec, handling ~150 tcp sockets.

By setting TCP_TSQ_DEFERRED in tcp_wfree(), we give a chance
for other cpus/threads entering tcp_write_xmit() to grab it,
allowing tcp_tasklet_func() to skip sockets that already did
an xmit cycle.

In the future, we might give to ACK processing an increased
budget to reduce even more tcp_tasklet_func() amount of work.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_output.c