Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c243671f authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "Revert "trace: Add an option to show tgids in trace output""

parents a72b085f 75cf251d
Loading
Loading
Loading
Loading
+4 −96
Original line number Diff line number Diff line
@@ -817,7 +817,6 @@ static const char *trace_options[] = {
	"irq-info",
	"markers",
	"function-trace",
	"print-tgid",
	NULL
};

@@ -1285,7 +1284,6 @@ void tracing_reset_all_online_cpus(void)

#define SAVED_CMDLINES_DEFAULT 128
#define NO_CMDLINE_MAP UINT_MAX
static unsigned saved_tgids[SAVED_CMDLINES_DEFAULT];
static arch_spinlock_t trace_cmdline_lock = __ARCH_SPIN_LOCK_UNLOCKED;
struct saved_cmdlines_buffer {
	unsigned map_pid_to_cmdline[PID_MAX_DEFAULT+1];
@@ -1524,7 +1522,7 @@ static int trace_save_cmdline(struct task_struct *tsk)
	}

	set_cmdline(idx, tsk->comm);
	saved_tgids[idx] = tsk->tgid;

	arch_spin_unlock(&trace_cmdline_lock);

	return 1;
@@ -1567,25 +1565,6 @@ void trace_find_cmdline(int pid, char comm[])
	preempt_enable();
}

int trace_find_tgid(int pid)
{
	unsigned map;
	int tgid;

	preempt_disable();
	arch_spin_lock(&trace_cmdline_lock);
	map = savedcmd->map_pid_to_cmdline[pid];
	if (map != NO_CMDLINE_MAP)
		tgid = saved_tgids[map];
	else
		tgid = -1;

	arch_spin_unlock(&trace_cmdline_lock);
	preempt_enable();

	return tgid;
}

void tracing_record_cmdline(struct task_struct *tsk)
{
	if (atomic_read(&trace_record_cmdline_disabled) || !tracing_is_on())
@@ -2564,13 +2543,6 @@ static void print_func_help_header(struct trace_buffer *buf, struct seq_file *m)
	seq_puts(m, "#              | |       |          |         |\n");
}

static void print_func_help_header_tgid(struct trace_buffer *buf, struct seq_file *m)
{
	print_event_info(buf, m);
	seq_puts(m, "#           TASK-PID    TGID   CPU#      TIMESTAMP  FUNCTION\n");
	seq_puts(m, "#              | |        |      |          |         |\n");
}

static void print_func_help_header_irq(struct trace_buffer *buf, struct seq_file *m)
{
	print_event_info(buf, m);
@@ -2583,18 +2555,6 @@ static void print_func_help_header_irq(struct trace_buffer *buf, struct seq_file
	seq_puts(m, "#              | |       |   ||||       |         |\n");
}

static void print_func_help_header_irq_tgid(struct trace_buffer *buf, struct seq_file *m)
{
	print_event_info(buf, m);
	seq_puts(m, "#                                      _-----=> irqs-off\n");
	seq_puts(m, "#                                     / _----=> need-resched\n");
	seq_puts(m, "#                                    | / _---=> hardirq/softirq\n");
	seq_puts(m, "#                                    || / _--=> preempt-depth\n");
	seq_puts(m, "#                                    ||| /     delay\n");
	seq_puts(m, "#           TASK-PID    TGID   CPU#  ||||    TIMESTAMP  FUNCTION\n");
	seq_puts(m, "#              | |        |      |   ||||       |         |\n");
}

void
print_trace_header(struct seq_file *m, struct trace_iterator *iter)
{
@@ -2895,13 +2855,8 @@ void trace_default_header(struct seq_file *m)
	} else {
		if (!(trace_flags & TRACE_ITER_VERBOSE)) {
			if (trace_flags & TRACE_ITER_IRQ_INFO)
				if (trace_flags & TRACE_ITER_TGID)
					print_func_help_header_irq_tgid(iter->trace_buffer, m);
				else
					print_func_help_header_irq(iter->trace_buffer, m);
			else
				if (trace_flags & TRACE_ITER_TGID)
					print_func_help_header_tgid(iter->trace_buffer, m);
				print_func_help_header_irq(iter->trace_buffer,
								 m);
			else
				print_func_help_header(iter->trace_buffer, m);
		}
@@ -3948,50 +3903,6 @@ static const struct file_operations tracing_saved_cmdlines_size_fops = {
	.write		= tracing_saved_cmdlines_size_write,
};

static ssize_t
tracing_saved_tgids_read(struct file *file, char __user *ubuf,
				size_t cnt, loff_t *ppos)
{
	char *file_buf;
	char *buf;
	int len = 0;
	int pid;
	int i;

	file_buf = kmalloc(SAVED_CMDLINES_DEFAULT*(16+1+16), GFP_KERNEL);
	if (!file_buf)
		return -ENOMEM;

	buf = file_buf;

	for (i = 0; i < SAVED_CMDLINES_DEFAULT; i++) {
		int tgid;
		int r;

		pid = savedcmd->map_cmdline_to_pid[i];
		if (pid == -1 || pid == NO_CMDLINE_MAP)
			continue;

		tgid = trace_find_tgid(pid);
		r = sprintf(buf, "%d %d\n", pid, tgid);
		buf += r;
		len += r;
	}

	len = simple_read_from_buffer(ubuf, cnt, ppos,
				      file_buf, len);

	kfree(file_buf);

	return len;
}

static const struct file_operations tracing_saved_tgids_fops = {
	.open	= tracing_open_generic,
	.read	= tracing_saved_tgids_read,
	.llseek	= generic_file_llseek,
};

static ssize_t
tracing_set_trace_read(struct file *filp, char __user *ubuf,
		       size_t cnt, loff_t *ppos)
@@ -6622,9 +6533,6 @@ init_tracer_debugfs(struct trace_array *tr, struct dentry *d_tracer)
	trace_create_file("trace_marker", 0220, d_tracer,
			  tr, &tracing_mark_fops);

	trace_create_file("saved_tgids", 0444, d_tracer,
			  tr, &tracing_saved_tgids_fops);

	trace_create_file("trace_clock", 0644, d_tracer, tr,
			  &trace_clock_fops);

+0 −2
Original line number Diff line number Diff line
@@ -659,7 +659,6 @@ static inline void __trace_stack(struct trace_array *tr, unsigned long flags,
extern cycle_t ftrace_now(int cpu);

extern void trace_find_cmdline(int pid, char comm[]);
extern int trace_find_tgid(int pid);

#ifdef CONFIG_DYNAMIC_FTRACE
extern unsigned long ftrace_update_tot_cnt;
@@ -940,7 +939,6 @@ enum trace_iterator_flags {
	TRACE_ITER_IRQ_INFO		= 0x800000,
	TRACE_ITER_MARKERS		= 0x1000000,
	TRACE_ITER_FUNCTION		= 0x2000000,
	TRACE_ITER_TGID 		= 0x4000000,
};

/*
+2 −16
Original line number Diff line number Diff line
@@ -565,25 +565,11 @@ int trace_print_context(struct trace_iterator *iter)
	unsigned long secs, usec_rem;
	char comm[TASK_COMM_LEN];
	int ret;
	int tgid;

	trace_find_cmdline(entry->pid, comm);

	ret = trace_seq_printf(s, "%16s-%-5d ", comm, entry->pid);
	if (!ret)
		return 0;

	if (trace_flags & TRACE_ITER_TGID) {
		tgid = trace_find_tgid(entry->pid);
		if (tgid < 0)
			ret = trace_seq_puts(s, "(-----) ");
		else
			ret = trace_seq_printf(s, "(%5d) ", tgid);
		if (!ret)
			return 0;
	}

	ret = trace_seq_printf(s, "[%03d] ", iter->cpu);
	ret = trace_seq_printf(s, "%16s-%-5d [%03d] ",
			       comm, entry->pid, iter->cpu);
	if (!ret)
		return 0;