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

Commit 4176935b authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge branch 'tip/tracing/ftrace' of...

Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace
parents c269fc8c 6adaad14
Loading
Loading
Loading
Loading
+18 −5
Original line number Diff line number Diff line
@@ -1027,7 +1027,9 @@ static int blk_log_action_seq(struct trace_seq *s, const struct blk_io_trace *t,

static int blk_log_generic(struct trace_seq *s, const struct trace_entry *ent)
{
	const char *cmd = trace_find_cmdline(ent->pid);
	char cmd[TASK_COMM_LEN];

	trace_find_cmdline(ent->pid, cmd);

	if (t_sec(ent))
		return trace_seq_printf(s, "%llu + %u [%s]\n",
@@ -1057,19 +1059,30 @@ static int blk_log_remap(struct trace_seq *s, const struct trace_entry *ent)

static int blk_log_plug(struct trace_seq *s, const struct trace_entry *ent)
{
	return trace_seq_printf(s, "[%s]\n", trace_find_cmdline(ent->pid));
	char cmd[TASK_COMM_LEN];

	trace_find_cmdline(ent->pid, cmd);

	return trace_seq_printf(s, "[%s]\n", cmd);
}

static int blk_log_unplug(struct trace_seq *s, const struct trace_entry *ent)
{
	return trace_seq_printf(s, "[%s] %llu\n", trace_find_cmdline(ent->pid),
				get_pdu_int(ent));
	char cmd[TASK_COMM_LEN];

	trace_find_cmdline(ent->pid, cmd);

	return trace_seq_printf(s, "[%s] %llu\n", cmd, get_pdu_int(ent));
}

static int blk_log_split(struct trace_seq *s, const struct trace_entry *ent)
{
	char cmd[TASK_COMM_LEN];

	trace_find_cmdline(ent->pid, cmd);

	return trace_seq_printf(s, "%llu / %llu [%s]\n", t_sector(ent),
				get_pdu_int(ent), trace_find_cmdline(ent->pid));
				get_pdu_int(ent), cmd);
}

/*
+1 −1
Original line number Diff line number Diff line
@@ -537,7 +537,7 @@ static void ftrace_replace_code(int enable)
		 */
		if (rec->flags & FTRACE_FL_FREE ||
		    rec->flags & FTRACE_FL_FAILED ||
		    rec->flags & FTRACE_FL_CONVERTED)
		    !(rec->flags & FTRACE_FL_CONVERTED))
			continue;

		/* ignore updates to this record's mcount site */
+13 −9
Original line number Diff line number Diff line
@@ -770,30 +770,34 @@ static void trace_save_cmdline(struct task_struct *tsk)
	__raw_spin_unlock(&trace_cmdline_lock);
}

char *trace_find_cmdline(int pid)
void trace_find_cmdline(int pid, char comm[])
{
	char *cmdline = "<...>";
	unsigned map;

	if (!pid)
		return "<idle>";
	if (!pid) {
		strcpy(comm, "<idle>");
		return;
	}

	if (pid > PID_MAX_DEFAULT)
		goto out;
	if (pid > PID_MAX_DEFAULT) {
		strcpy(comm, "<...>");
		return;
	}

	__raw_spin_lock(&trace_cmdline_lock);
	map = map_pid_to_cmdline[pid];
	if (map >= SAVED_CMDLINES)
		goto out;

	cmdline = saved_cmdlines[map];
	strcpy(comm, saved_cmdlines[map]);

 out:
	return cmdline;
	__raw_spin_unlock(&trace_cmdline_lock);
}

void tracing_record_cmdline(struct task_struct *tsk)
{
	if (atomic_read(&trace_record_cmdline_disabled))
	if (atomic_read(&trace_record_cmdline_disabled) || !tracing_is_on())
		return;

	trace_save_cmdline(tsk);
+1 −1
Original line number Diff line number Diff line
@@ -564,7 +564,7 @@ struct tracer_switch_ops {
};
#endif /* CONFIG_CONTEXT_SWITCH_TRACER */

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

#ifdef CONFIG_DYNAMIC_FTRACE
extern unsigned long ftrace_update_tot_cnt;
+6 −6
Original line number Diff line number Diff line
@@ -190,15 +190,15 @@ print_graph_cpu(struct trace_seq *s, int cpu)
static enum print_line_t
print_graph_proc(struct trace_seq *s, pid_t pid)
{
	int i;
	int ret;
	int len;
	char comm[8];
	int spaces = 0;
	char comm[TASK_COMM_LEN];
	/* sign + log10(MAX_INT) + '\0' */
	char pid_str[11];
	int spaces = 0;
	int ret;
	int len;
	int i;

	strncpy(comm, trace_find_cmdline(pid), 7);
	trace_find_cmdline(pid, comm);
	comm[7] = '\0';
	sprintf(pid_str, "%d", pid);

Loading