2 # SPDX-License-Identifier: GPL-2.0
4 # -*- coding: utf-8 -*-
8 class tracepoint(perf
.evsel
):
9 def __init__(self
, sys
, name
):
10 config
= perf
.tracepoint(sys
, name
)
11 perf
.evsel
.__init
__(self
,
12 type = perf
.TYPE_TRACEPOINT
,
14 freq
= 0, sample_period
= 1, wakeup_events
= 1,
15 sample_type
= perf
.SAMPLE_PERIOD | perf
.SAMPLE_TID | perf
.SAMPLE_CPU | perf
.SAMPLE_RAW | perf
.SAMPLE_TIME
)
18 tp
= tracepoint("sched", "sched_switch")
20 threads
= perf
.thread_map(-1)
22 evlist
= perf
.evlist(cpus
, threads
)
28 evlist
.poll(timeout
= -1)
30 event
= evlist
.read_on_cpu(cpu
)
34 if not isinstance(event
, perf
.sample_event
):
37 print "time %u prev_comm=%s prev_pid=%d prev_prio=%d prev_state=0x%x ==> next_comm=%s next_pid=%d next_prio=%d" % (
47 if __name__
== '__main__':