#!/bin/sh # build programs send/recv make # find uprobe offsets (search for "uprobe") objdump -D -F -S send | less objdump -D -F -S recv | less # create uprobe events (as root) echo "p:sending `pwd`/send:0x1055" > /sys/kernel/debug/tracing/uprobe_events echo "p:received `pwd`/recv:0xff1" >> /sys/kernel/debug/tracing/uprobe_events # run receiver sudo taskset 1 chrt -f 80 ./recv & # run sender (wrapping with trace-cmd) sudo trace-cmd record \ -e sched:sched_switch \ -e sched:sched_wakeup \ -e sched:sched_pi_setprio \ -e uprobes:sending \ -e uprobes:received \ -e raw_syscalls:sys_enter \ -e raw_syscalls:sys_exit \ taskset 1 chrt -f 70 ./send (type message and hit return) # view results kernelshark