1Demonstrations of runqslower, the Linux BPF CO-RE version. 2 3 4runqslower shows high latency scheduling times between tasks being 5ready to run and them running on CPU after that. For example: 6 7# runqslower 8 9Tracing run queue latency higher than 10000 us. 10 11TIME COMM TID LAT(us) 1204:16:32 cc1 12924 12739 1304:16:32 sh 13640 12118 1404:16:32 make 13639 12730 1504:16:32 bash 13655 12047 1604:16:32 bash 13657 12744 1704:16:32 bash 13656 12880 1804:16:32 sh 13660 10846 1904:16:32 gcc 13663 12681 2004:16:32 make 13668 10814 2104:16:32 make 13670 12988 2204:16:32 gcc 13677 11770 2304:16:32 gcc 13678 23519 2404:16:32 as 12999 20541 25[...] 26 27This shows various processes waiting for available CPU during a Linux kernel 28build. By default the output contains delays for more than 10ms. 29 30These delays can be analyzed in depth with "perf sched" tool, see: 31 32* http://www.brendangregg.com/blog/2017-03-16/perf-sched.html 33 34USAGE message: 35 36# runqslower --help 37Trace high run queue latency. 38 39USAGE: runqslower [--help] [-p PID] [-t TID] [min_us] 40 41EXAMPLES: 42 runqslower # trace latency higher than 10000 us (default) 43 runqslower 1000 # trace latency higher than 1000 us 44 runqslower -p 123 # trace pid 123 45 runqslower -t 123 # trace tid 123 (use for threads only) 46 47 -p, --pid=PID Process PID to trace 48 -t, --tid=TID Thread TID to trace 49 -v, --verbose Verbose debug output 50 -?, --help Give this help list 51 --usage Give a short usage message 52 -V, --version Print program version 53 54Report bugs to <[email protected]>. 55