While using xfsslower on RHEL7 we occasionally get following screwed up latencies:
# xfsslower Tracing XFS operations slower than 1 ms TIME COMM PID T BYTES OFF_KB LAT(ms) FILENAME 13:25:03 git 3385 R 62 4704 18446744073708.55 tmp_pack_bDUbwZ 13:25:03 git 3385 S 0 0 3.05 tmp_idx_Kjb2bW ... The reason for this is that on RHEL7 it's possible to get backward timetamp with bpf_ktime_get_ns. This needs to be fixed, but meanwhile this fix makes sure the latencies with backward times are skipped. For the rest of the kernels this is just sanity fix with possibly just single compare instruction overhead. Signed-off-by: Jiri Olsa <[email protected]> --- tools/xfsslower.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/xfsslower.py b/tools/xfsslower.py index da70c5705192..b996ce8f143a 100755 --- a/tools/xfsslower.py +++ b/tools/xfsslower.py @@ -173,8 +173,15 @@ static int trace_return(struct pt_regs *ctx, int type) // calculate delta u64 ts = bpf_ktime_get_ns(); - u64 delta_us = (ts - valp->ts) / 1000; + s64 delta_us = ts - valp->ts; entryinfo.delete(&id); + + // skip entries with backward time + if (delta_us < 0) + return 0; + + delta_us /= 1000; + if (FILTER_US) return 0; -- 1.8.3.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#1464): https://lists.iovisor.org/g/iovisor-dev/message/1464 Mute This Topic: https://lists.iovisor.org/mt/25038970/21656 Group Owner: [email protected] Unsubscribe: https://lists.iovisor.org/g/iovisor-dev/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
