Я не могу сбросить трассировку стека при использовании linux триггеров событий трассировки - PullRequest
0 голосов
/ 02 апреля 2020

В документе ядра «трассировка: триггеры событий трассировки» сказано, что я могу использовать стек трассировки cmd для выгрузки стековой трассировки в буфер трассировки при каждом срабатывании события триггера. Но все, что я получил, это простая строка "stacktrace". Вот моя конфигурация:

cd / sys / kernel / debug / tracing / events / sched / sched_switch

echo 1> enable

echo 'stacktrace'> триггер

cat триггер

stacktrace: unlimited

Когда я смотрю на вывод 'trace', вот что я увидел:

    kworker/u2:0-4002  [000] d... 1275475.478000: sched_switch: prev_comm=kworker/u2:0 prev_pid=4002 prev_prio=120 prev_state=S ==> next_comm=sshd next_pid=3048 next_prio=120
kworker/u2:0-4002  [000] d... 1275475.478000: <stack trace>
        sshd-3048  [000] d... 1275475.478000: sched_switch: prev_comm=sshd prev_pid=3048 prev_prio=120 prev_state=S ==> next_comm=vim next_pid=4059 next_prio=120
        sshd-3048  [000] d... 1275475.478000: <stack trace>
         vim-4059  [000] d... 1275475.479000: sched_switch: prev_comm=vim prev_pid=4059 prev_prio=120 prev_state=R ==> next_comm=rcu_sched next_pid=8 next_prio=120
         vim-4059  [000] d... 1275475.479000: <stack trace>
   rcu_sched-8     [000] d... 1275475.479000: sched_switch: prev_comm=rcu_sched prev_pid=8 prev_prio=120 prev_state=S ==> next_comm=vim next_pid=4059 next_prio=120
   rcu_sched-8     [000] d... 1275475.479000: <stack trace>
         vim-4059  [000] d... 1275475.481000: sched_switch: prev_comm=vim prev_pid=4059 prev_prio=120 prev_state=R ==> next_comm=rcu_sched next_pid=8 next_prio=120
         vim-4059  [000] d... 1275475.481000: <stack trace>
   rcu_sched-8     [000] d... 1275475.481000: sched_switch: prev_comm=rcu_sched prev_pid=8 prev_prio=120 prev_state=S ==> next_comm=vim next_pid=4059 next_prio=120
   rcu_sched-8     [000] d... 1275475.481000: <stack trace>
         vim-4059  [000] d... 1275475.482000: sched_switch: prev_comm=vim prev_pid=4059 prev_prio=120 prev_state=R ==> next_comm=rcu_sched next_pid=8 next_prio=120
         vim-4059  [000] d... 1275475.482000: <stack trace>
   rcu_sched-8     [000] d... 1275475.482000: sched_switch: prev_comm=rcu_sched prev_pid=8 prev_prio=120 prev_state=S ==> next_comm=vim next_pid=4059 next_prio=120
   rcu_sched-8     [000] d... 1275475.482000: <stack trace>
         vim-4059  [000] d... 1275475.483000: sched_switch: prev_comm=vim prev_pid=4059 prev_prio=120 prev_state=R+ ==> next_comm=rcu_sched next_pid=8 next_prio=120
         vim-4059  [000] d... 1275475.483000: <stack trace>
   rcu_sched-8     [000] d... 1275475.483000: sched_switch: prev_comm=rcu_sched prev_pid=8 prev_prio=120 prev_state=S ==> next_comm=ksoftirqd/0 next_pid=7 next_prio=120
   rcu_sched-8     [000] d... 1275475.483000: <stack trace>
 ksoftirqd/0-7     [000] d... 1275475.483000: sched_switch: prev_comm=ksoftirqd/0 prev_pid=7 prev_prio=120 prev_state=S ==> next_comm=rcu_sched next_pid=8 next_prio=120
 ksoftirqd/0-7     [000] d... 1275475.483000: <stack trace>
   rcu_sched-8     [000] d... 1275475.483000: sched_switch: prev_comm=rcu_sched prev_pid=8 prev_prio=120 prev_state=S ==> next_comm=vim next_pid=4059 next_prio=120
   rcu_sched-8     [000] d... 1275475.483000: <stack trace>

Как мне сделать так, чтобы трассировка стека сбрасывала все трассировки стека.

...