tcp/fq: move back to CLOCK_MONOTONIC
authorEric Dumazet <edumazet@google.com>
Fri, 28 Sep 2018 17:28:44 +0000 (10:28 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 2 Oct 2018 06:18:51 +0000 (23:18 -0700)
commitfb420d5d91c1274d5966917725e71f27ed092a85
treef4a5a44cf2c8c53e9af214bc686c5a25736bca5e
parent0ed3015c9964dab7a1693b3e40650f329c16691e
tcp/fq: move back to CLOCK_MONOTONIC

In the recent TCP/EDT patch series, I switched TCP and sch_fq
clocks from MONOTONIC to TAI, in order to meet the choice done
earlier for sch_etf packet scheduler.

But sure enough, this broke some setups were the TAI clock
jumps forward (by almost 50 year...), as reported
by Leonard Crestez.

If we want to converge later, we'll probably need to add
an skb field to differentiate the clock bases, or a socket option.

In the meantime, an UDP application will need to use CLOCK_MONOTONIC
base for its SCM_TXTIME timestamps if using fq packet scheduler.

Fixes: 72b0094f9182 ("tcp: switch tcp_clock_ns() to CLOCK_TAI base")
Fixes: 142537e41923 ("net_sched: sch_fq: switch to CLOCK_TAI")
Fixes: fd2bca2aa789 ("tcp: switch internal pacing timer to CLOCK_TAI")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Leonard Crestez <leonard.crestez@nxp.com>
Tested-by: Leonard Crestez <leonard.crestez@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tcp.h
net/ipv4/tcp_timer.c
net/sched/sch_fq.c