1/* SPDX-License-Identifier: GPL-2.0 */
2#ifdef CONFIG_SCHED_RT_CAS
3TRACE_EVENT(sched_find_cas_cpu_each,
4
5	TP_PROTO(struct task_struct *task, int cpu, int target_cpu,
6		 int isolated, int idle, unsigned long task_util,
7		 unsigned long cpu_util, int cpu_cap),
8
9	TP_ARGS(task, cpu, target_cpu, isolated, idle, task_util, cpu_util, cpu_cap),
10
11	TP_STRUCT__entry(
12		__array(char, comm, TASK_COMM_LEN)
13		__field(pid_t, pid)
14		__field(int, prio)
15		__field(int, cpu)
16		__field(int, target_cpu)
17		__field(int, isolated)
18		__field(unsigned long, idle)
19		__field(unsigned long, task_util)
20		__field(unsigned long, cpu_util)
21		__field(unsigned long, cpu_cap)
22	),
23
24	TP_fast_assign(
25		memcpy(__entry->comm, task->comm, TASK_COMM_LEN);
26		__entry->pid		= task->pid;
27		__entry->prio		= task->prio;
28		__entry->cpu		= cpu;
29		__entry->target_cpu	= target_cpu;
30		__entry->isolated	= isolated;
31		__entry->idle		= idle;
32		__entry->task_util	= task_util;
33		__entry->cpu_util	= cpu_util;
34		__entry->cpu_cap	= cpu_cap;
35	),
36
37	TP_printk("comm=%s pid=%d prio=%d cpu=%d target_cpu=%d isolated=%d idle=%lu task_util=%lu cpu_util=%lu cpu_cap=%lu",
38		  __entry->comm, __entry->pid, __entry->prio,
39		  __entry->cpu, __entry->target_cpu, __entry->isolated,
40		  __entry->idle, __entry->task_util,
41		  __entry->cpu_util, __entry->cpu_cap)
42);
43
44TRACE_EVENT(sched_find_cas_cpu,
45
46	TP_PROTO(struct task_struct *task, struct cpumask *lowest_mask,
47		 unsigned long tutil,  int prev_cpu, int target_cpu),
48
49	TP_ARGS(task, lowest_mask, tutil, prev_cpu, target_cpu),
50
51	TP_STRUCT__entry(
52		__array(char, comm, TASK_COMM_LEN)
53		__field(pid_t, pid)
54		__field(unsigned int, prio)
55		__bitmask(lowest, num_possible_cpus())
56		__field(unsigned long, tutil)
57		__field(int, prev_cpu)
58		__field(int, target_cpu)
59	),
60
61	TP_fast_assign(
62		memcpy(__entry->comm, task->comm, TASK_COMM_LEN);
63		__entry->pid		= task->pid;
64		__entry->prio		= task->prio;
65		__assign_bitmask(lowest, cpumask_bits(lowest_mask), num_possible_cpus());
66		__entry->tutil		= tutil;
67		__entry->prev_cpu	= prev_cpu;
68		__entry->target_cpu	= target_cpu;
69	),
70
71	TP_printk("comm=%s pid=%d prio=%d lowest_mask=%s tutil=%lu prev=%d target=%d ",
72		  __entry->comm, __entry->pid, __entry->prio,
73		  __get_bitmask(lowest), __entry->tutil,
74		  __entry->prev_cpu, __entry->target_cpu)
75);
76#endif /* CONFIG_SCHED_RT_CAS */
77