blob: bea6c98b543807c8cf32cf6872581313ee53d553 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#!/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
|