xref: /openbmc/linux/tools/perf/trace/beauty/pid.c (revision 68198dca)
1 // SPDX-License-Identifier: GPL-2.0
2 size_t syscall_arg__scnprintf_pid(char *bf, size_t size, struct syscall_arg *arg)
3 {
4 	int pid = arg->val;
5 	struct trace *trace = arg->trace;
6 	size_t printed = scnprintf(bf, size, "%d", pid);
7 	struct thread *thread = machine__findnew_thread(trace->host, pid, pid);
8 
9 	if (thread != NULL) {
10 		if (!thread->comm_set)
11 			thread__set_comm_from_proc(thread);
12 
13 		if (thread->comm_set)
14 			printed += scnprintf(bf + printed, size - printed,
15 					     " (%s)", thread__comm_str(thread));
16 		thread__put(thread);
17 	}
18 
19 	return printed;
20 }
21