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

Commit 06fc5d3d authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull perf fixes from Ingo Molnar.

* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  perf: Fix perf_event_for_each() to use sibling
  perf symbols: Read plt symbols from proper symtab_type binary
  tracing: Fix stacktrace of latency tracers (irqsoff and friends)
  perf tools: Add 'G' and 'H' modifiers to event parsing
  tracing: Fix regression with tracing_on
  perf tools: Drop CROSS_COMPILE from flex and bison calls
  perf report: Fix crash showing warning related to kernel maps
  tracing: Fix build breakage without CONFIG_PERF_EVENTS (again)
parents f6072452 724b6daa
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3183,7 +3183,7 @@ static void perf_event_for_each(struct perf_event *event,
	perf_event_for_each_child(event, func);
	func(event);
	list_for_each_entry(sibling, &event->sibling_list, group_entry)
		perf_event_for_each_child(event, func);
		perf_event_for_each_child(sibling, func);
	mutex_unlock(&ctx->mutex);
}

+5 −3
Original line number Diff line number Diff line
@@ -4629,7 +4629,8 @@ static ssize_t
rb_simple_read(struct file *filp, char __user *ubuf,
	       size_t cnt, loff_t *ppos)
{
	struct ring_buffer *buffer = filp->private_data;
	struct trace_array *tr = filp->private_data;
	struct ring_buffer *buffer = tr->buffer;
	char buf[64];
	int r;

@@ -4647,7 +4648,8 @@ static ssize_t
rb_simple_write(struct file *filp, const char __user *ubuf,
		size_t cnt, loff_t *ppos)
{
	struct ring_buffer *buffer = filp->private_data;
	struct trace_array *tr = filp->private_data;
	struct ring_buffer *buffer = tr->buffer;
	unsigned long val;
	int ret;

@@ -4734,7 +4736,7 @@ static __init int tracer_init_debugfs(void)
			  &trace_clock_fops);

	trace_create_file("tracing_on", 0644, d_tracer,
			    global_trace.buffer, &rb_simple_fops);
			    &global_trace, &rb_simple_fops);

#ifdef CONFIG_DYNAMIC_FTRACE
	trace_create_file("dyn_ftrace_total_info", 0444, d_tracer,
+2 −2
Original line number Diff line number Diff line
@@ -836,11 +836,11 @@ extern const char *__stop___trace_bprintk_fmt[];
		     filter)
#include "trace_entries.h"

#ifdef CONFIG_FUNCTION_TRACER
#if defined(CONFIG_PERF_EVENTS) && defined(CONFIG_FUNCTION_TRACER)
int perf_ftrace_event_register(struct ftrace_event_call *call,
			       enum trace_reg type, void *data);
#else
#define perf_ftrace_event_register NULL
#endif /* CONFIG_FUNCTION_TRACER */
#endif

#endif /* _LINUX_KERNEL_TRACE_H */
+5 −0
Original line number Diff line number Diff line
@@ -652,6 +652,8 @@ int trace_print_lat_context(struct trace_iterator *iter)
{
	u64 next_ts;
	int ret;
	/* trace_find_next_entry will reset ent_size */
	int ent_size = iter->ent_size;
	struct trace_seq *s = &iter->seq;
	struct trace_entry *entry = iter->ent,
			   *next_entry = trace_find_next_entry(iter, NULL,
@@ -660,6 +662,9 @@ int trace_print_lat_context(struct trace_iterator *iter)
	unsigned long abs_usecs = ns2usecs(iter->ts - iter->tr->time_start);
	unsigned long rel_usecs;

	/* Restore the original ent_size */
	iter->ent_size = ent_size;

	if (!next_entry)
		next_ts = iter->ts;
	rel_usecs = ns2usecs(next_ts - iter->ts);
+2 −2
Original line number Diff line number Diff line
@@ -234,8 +234,8 @@ endif

export PERL_PATH

FLEX = $(CROSS_COMPILE)flex
BISON= $(CROSS_COMPILE)bison
FLEX = flex
BISON= bison

$(OUTPUT)util/parse-events-flex.c: util/parse-events.l
	$(QUIET_FLEX)$(FLEX) --header-file=$(OUTPUT)util/parse-events-flex.h -t util/parse-events.l > $(OUTPUT)util/parse-events-flex.c
Loading