KSSL debugging suite
KSSL debugging suite is set of scripts written primarily for root causing bugs in KSSL but it can be used for observing KSSL behavior down to tiny details.
The suite was conceived during the work on CR 6614159 which was hard to track down so better observability was needed. The suite itself relies on the presence of KSSL dtrace SDT and FBT probes in the kernel. See the debugging section for more information about the probes.
Download
The test suite tarball is available in the Files section. The distribution file contains complete documentation for the suite.
Examples
For instance, the read_preempts.d script can be used to watch all read() syscalls issued by httpd process which are preempted. In the case such event happens the output will be similar to the following:
0 9558 read:entry read by httpd
0 9558 read:entry read by httpd
0 46803 preempt:preempt pid = 1010, read = 1
unix\{{code}}preempt+0x94
unix\{{/code}}kpreempt+0xd0
unix\{{code}}mutex~_vector~_exit+0x78
kssl\{{/code}}kssl~_handle~_record+0x158
sockfs\{{code}}strsock~_kssl~_input+0x14
genunix\{{/code}}kstrgetmsg+0x5a8
sockfs\{{code}}sotpi~_recvmsg+0x264
sockfs\{{/code}}socktpi~_read+0x4c
genunix\{{code}}fop~_read+0x48
genunix\{{/code}}read+0x1fc
unix\`syscall~_trap32+0xcc