net: sk_pacing_shift_update() helper
In commit 3a9b76fd0d
("tcp: allow drivers to tweak TSQ logic")
I gave a code sample to set sk->sk_pacing_shift that was not complete.
Better add a helper that can be used by drivers without worries,
and maybe amended in the future.
A wifi driver might use it from its ndo_start_xmit()
Following call would setup TCP to allow up to ~8ms of queued data per
flow.
sk_pacing_shift_update(skb->sk, 7);
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
eb7935830d
commit
c9f1f58dc2
|
@ -2407,4 +2407,15 @@ static inline int sk_get_rmem0(const struct sock *sk, const struct proto *proto)
|
|||
return *proto->sysctl_rmem;
|
||||
}
|
||||
|
||||
/* Default TCP Small queue budget is ~1 ms of data (1sec >> 10)
|
||||
* Some wifi drivers need to tweak it to get more chunks.
|
||||
* They can use this helper from their ndo_start_xmit()
|
||||
*/
|
||||
static inline void sk_pacing_shift_update(struct sock *sk, int val)
|
||||
{
|
||||
if (!sk || !sk_fullsock(sk) || sk->sk_pacing_shift == val)
|
||||
return;
|
||||
sk->sk_pacing_shift = val;
|
||||
}
|
||||
|
||||
#endif /* _SOCK_H */
|
||||
|
|
Loading…
Reference in New Issue