| .. | .. |
|---|
| 1 | 1 | #!/bin/sh |
|---|
| 2 | 2 | # SPDX-License-Identifier: GPL-2.0 |
|---|
| 3 | 3 | # description: event tracing - restricts events based on pid |
|---|
| 4 | +# requires: set_event set_event_pid events/sched |
|---|
| 4 | 5 | # flags: instance |
|---|
| 5 | 6 | |
|---|
| 6 | 7 | do_reset() { |
|---|
| .. | .. |
|---|
| 16 | 17 | exit_fail |
|---|
| 17 | 18 | } |
|---|
| 18 | 19 | |
|---|
| 19 | | -yield() { |
|---|
| 20 | | - ping localhost -c 1 || sleep .001 || usleep 1 || sleep 1 |
|---|
| 21 | | -} |
|---|
| 22 | | - |
|---|
| 23 | | -if [ ! -f set_event -o ! -d events/sched ]; then |
|---|
| 24 | | - echo "event tracing is not supported" |
|---|
| 25 | | - exit_unsupported |
|---|
| 26 | | -fi |
|---|
| 27 | | - |
|---|
| 28 | | -if [ ! -f set_event_pid ]; then |
|---|
| 29 | | - echo "event pid filtering is not supported" |
|---|
| 30 | | - exit_unsupported |
|---|
| 31 | | -fi |
|---|
| 32 | | - |
|---|
| 33 | | -reset_tracer |
|---|
| 34 | | -do_reset |
|---|
| 20 | +echo 0 > options/event-fork |
|---|
| 35 | 21 | |
|---|
| 36 | 22 | echo 1 > events/sched/sched_switch/enable |
|---|
| 37 | 23 | |
|---|
| .. | .. |
|---|
| 47 | 33 | read mypid rest < /proc/self/stat |
|---|
| 48 | 34 | |
|---|
| 49 | 35 | echo $mypid > set_event_pid |
|---|
| 36 | +grep -q $mypid set_event_pid |
|---|
| 50 | 37 | echo 'sched:sched_switch' > set_event |
|---|
| 51 | 38 | |
|---|
| 52 | 39 | yield |
|---|