]> git.baikalelectronics.ru Git - kernel.git/commit
net_sched: sch_fq: properly set sk->sk_pacing_status
authorEric Dumazet <edumazet@google.com>
Mon, 23 Dec 2019 19:13:24 +0000 (11:13 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 26 Dec 2019 23:35:09 +0000 (15:35 -0800)
commit6ac4c8cf5b86febda11686e986c16daa82932354
tree18c1af1d9239b2145670c8e0d55834c45913d29d
parent1832f734849ac67af10ee2a995555b312d6f45bf
net_sched: sch_fq: properly set sk->sk_pacing_status

If fq_classify() recycles a struct fq_flow because
a socket structure has been reallocated, we do not
set sk->sk_pacing_status immediately, but later if the
flow becomes detached.

This means that any flow requiring pacing (BBR, or SO_MAX_PACING_RATE)
might fallback to TCP internal pacing, which requires a per-socket
high resolution timer, and therefore more cpu cycles.

Fixes: c1fd2cc7e149 ("tcp: internal implementation for pacing")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Soheil Hassas Yeganeh <soheil@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_fq.c