| 12345678910111213141516171819202122232425262728293031323334353637 |
- global target_pid
- global target_name
- probe scheduler.ctxswitch {
-
- if (target_pid != 0
- && next_pid != target_pid
- && prev_pid != target_pid)
- next
- if (target_name != ""
- && prev_task_name != target_name
- && next_task_name != target_name)
- next
-
- //printf("Switch from %d(%s) to %d(%s) at %d\n",prev_tid, prev_task_name,next_tid,next_task_name, gettimeofday_ns())
- printf("%d %d %d %s %d\n",gettimeofday_ns(),prev_tid, next_tid, next_task_name,next_pid )
- //printf("%d %d %d\n",gettimeofday_ns(),prev_tid, next_tid )
- }
- probe begin
- {
- target_pid = 0
- target_name = ""
- %( $# == 1 || $# > 2 %?
- log("Wrong number of arguments, use none, 'pid nr' or 'name proc'")
- exit()
- %)
- %( $# == 2 %?
- if(@1 == "pid")
- target_pid = strtol(@2, 10)
- if(@1 == "name")
- target_name = @2
- %)
- }
|