Sysjitter

Onload User Guide (UG1586)

Document ID
UG1586
Release Date
2023-07-31
Revision
1.2 English

The sysjitter utility measures the extent to which the system introduces jitter and so impacts on the user-level process. Sysjitter runs a thread on each processor core and when the thread is de-scheduled from the core it measures for how long. Sysjitter produces summary statistics for each processor core. The sysjitter utility can be downloaded from https://github.com/Xilinx-CNS/cns-sysjitter.

Sysjitter should be run on a system that is idle. When running on a system with cpusets enabled, run sysjitter as root.

Refer to the sysjitter README file for further information on building and running sysjitter.

The following is an example of the output from sysjitter on a single CPU socket server with four CPU cores.

./sysjitter --runtime 10 200 | column -t
core_i:          0           1           2           3
threshold(ns):   200         200         200         200
cpu_mhz:         3215        3215        3215        3215
runtime(ns):     9987653973  9987652245  9987652070  9987652027
runtime(s):      9.988       9.988       9.988       9.988
int_n:           10001       10130       10012       10001
int_n_per_sec:   1001.336    1014.252    1002.438    1001.336
int_min(ns):     1333        1247        1299        1446
int_median(ns):  1390        1330        1329        1470
int_mean(ns):    1424        1452        1452        1502
int_90(ns):      1437        1372        1357        1519
int_99(ns):      1619        5046        2392        1688
int_999(ns):     5065        22977       15604       3694
int_9999(ns):    31260       39017       184305      36419
int_99999(ns):   40613       45065       347097      49998
int_max(ns):     40613       45065       347097      49998
int_total(ns):   14244846    14719972    14541991    15031294
int_total(%):    0.143       0.147       0.146       0.150

The table below describes the output fields of the sysjitter utility.

Table 1. Output Fields of the Sysjitter Utility
Field Description
threshold (ns) Ignore any interrupts shorter than this period
cpu_mhz CPU speed
runtime (ns) Runtime of sysjitter - nanoseconds
runtime (s) Runtime of sysjitter - seconds
int_n Number of interruptions to the user thread
int_n_per_sec Number of interruptions to the user thread per second
int_min (ns) Minimum time taken away from the user thread due to an interruption
int_median (ns) Median time taken away from the user thread due to an interruption
int_mean (ns) Mean time taken away from the user thread due to an interruption
int_90 (ns) 90%percentile value
int_99 (ns) 99% percentile value
int_999 (ns) 99.9% percentile value
int_9999 (ns) 99.99% percentile value
int_99999 (ns) 99.999% percentile value
int_max (ns) Max time taken away from the user thread
int_total (ns) Total time spent not processing the user thread
int_total (%) int_total (ns) as a percentage of total runtime