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

Commit 02e03040 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge tag 'perf-urgent-for-mingo' of...

Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux

 into perf/urgent

Pull perf fixes from Arnaldo Carvalho de Melo:

 * Endianness fixes from Jiri Olsa

 * Fixes for make perf tarball

 * Fix for DSO name in perf script callchains, from David Ahern

 * Segfault fixes for perf top --callchain, from Namhyung Kim

 * Minor function result fixes from Srikar Dronamraju

 * Add missing 3rd ioctl parameter, from Namhyung Kim

 * Fix pager usage in minimal embedded systems, from Avik Sil

Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parents f9ba7179 cb7225fe
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -555,6 +555,8 @@ enum perf_event_type {
	PERF_RECORD_MAX,			/* non-ABI */
	PERF_RECORD_MAX,			/* non-ABI */
};
};


#define PERF_MAX_STACK_DEPTH		255

enum perf_callchain_context {
enum perf_callchain_context {
	PERF_CONTEXT_HV			= (__u64)-32,
	PERF_CONTEXT_HV			= (__u64)-32,
	PERF_CONTEXT_KERNEL		= (__u64)-128,
	PERF_CONTEXT_KERNEL		= (__u64)-128,
@@ -609,8 +611,6 @@ struct perf_guest_info_callbacks {
#include <linux/sysfs.h>
#include <linux/sysfs.h>
#include <asm/local.h>
#include <asm/local.h>


#define PERF_MAX_STACK_DEPTH		255

struct perf_callchain_entry {
struct perf_callchain_entry {
	__u64				nr;
	__u64				nr;
	__u64				ip[PERF_MAX_STACK_DEPTH];
	__u64				ip[PERF_MAX_STACK_DEPTH];
+0 −1
Original line number Original line Diff line number Diff line
@@ -3181,7 +3181,6 @@ static void perf_event_for_each(struct perf_event *event,
	event = event->group_leader;
	event = event->group_leader;


	perf_event_for_each_child(event, func);
	perf_event_for_each_child(event, func);
	func(event);
	list_for_each_entry(sibling, &event->sibling_list, group_entry)
	list_for_each_entry(sibling, &event->sibling_list, group_entry)
		perf_event_for_each_child(sibling, func);
		perf_event_for_each_child(sibling, func);
	mutex_unlock(&ctx->mutex);
	mutex_unlock(&ctx->mutex);
+2 −0
Original line number Original line Diff line number Diff line
tools/perf
tools/perf
tools/scripts
tools/lib/traceevent
include/linux/const.h
include/linux/const.h
include/linux/perf_event.h
include/linux/perf_event.h
include/linux/rbtree.h
include/linux/rbtree.h
+2 −2
Original line number Original line Diff line number Diff line
@@ -152,7 +152,7 @@ static int perf_evsel__add_hist_entry(struct perf_evsel *evsel,


	if (symbol_conf.use_callchain) {
	if (symbol_conf.use_callchain) {
		err = callchain_append(he->callchain,
		err = callchain_append(he->callchain,
				       &evsel->hists.callchain_cursor,
				       &callchain_cursor,
				       sample->period);
				       sample->period);
		if (err)
		if (err)
			return err;
			return err;
@@ -162,7 +162,7 @@ static int perf_evsel__add_hist_entry(struct perf_evsel *evsel,
	 * so we don't allocated the extra space needed because the stdio
	 * so we don't allocated the extra space needed because the stdio
	 * code will not use it.
	 * code will not use it.
	 */
	 */
	if (al->sym != NULL && use_browser > 0) {
	if (he->ms.sym != NULL && use_browser > 0) {
		struct annotation *notes = symbol__annotation(he->ms.sym);
		struct annotation *notes = symbol__annotation(he->ms.sym);


		assert(evsel != NULL);
		assert(evsel != NULL);
+4 −4
Original line number Original line Diff line number Diff line
@@ -1129,7 +1129,7 @@ static int add_default_attributes(void)
		return 0;
		return 0;


	if (!evsel_list->nr_entries) {
	if (!evsel_list->nr_entries) {
		if (perf_evlist__add_attrs_array(evsel_list, default_attrs) < 0)
		if (perf_evlist__add_default_attrs(evsel_list, default_attrs) < 0)
			return -1;
			return -1;
	}
	}


@@ -1139,21 +1139,21 @@ static int add_default_attributes(void)
		return 0;
		return 0;


	/* Append detailed run extra attributes: */
	/* Append detailed run extra attributes: */
	if (perf_evlist__add_attrs_array(evsel_list, detailed_attrs) < 0)
	if (perf_evlist__add_default_attrs(evsel_list, detailed_attrs) < 0)
		return -1;
		return -1;


	if (detailed_run < 2)
	if (detailed_run < 2)
		return 0;
		return 0;


	/* Append very detailed run extra attributes: */
	/* Append very detailed run extra attributes: */
	if (perf_evlist__add_attrs_array(evsel_list, very_detailed_attrs) < 0)
	if (perf_evlist__add_default_attrs(evsel_list, very_detailed_attrs) < 0)
		return -1;
		return -1;


	if (detailed_run < 3)
	if (detailed_run < 3)
		return 0;
		return 0;


	/* Append very, very detailed run extra attributes: */
	/* Append very, very detailed run extra attributes: */
	return perf_evlist__add_attrs_array(evsel_list, very_very_detailed_attrs);
	return perf_evlist__add_default_attrs(evsel_list, very_very_detailed_attrs);
}
}


int cmd_stat(int argc, const char **argv, const char *prefix __used)
int cmd_stat(int argc, const char **argv, const char *prefix __used)
Loading