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

Commit 82c47766 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:
 "A handful of tooling fixes"

* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  perf symbols: Load map before using map->map_ip()
  perf tools: Fix traceevent plugin path definitions
  perf symbols: Fix JIT symbol resolution on heap
  perf stat: Fix memory corruption of xyarray when cpumask is used
  perf evsel: Remove duplicate member zeroing after free
  perf tools: Ensure sscanf does not overrun the "mem" field
  perf stat: fix NULL pointer reference bug with event unit
  perf tools: Add support for the xtensa architecture
  perf session: Free cpu_map in perf_session__cpu_bitmap
  perf timechart: Fix wrong SVG height
parents f6d13daa 993e5ee6
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -63,7 +63,7 @@ endif
endif
endif


ifeq ($(set_plugin_dir),1)
ifeq ($(set_plugin_dir),1)
PLUGIN_DIR = -DPLUGIN_DIR="$(DESTDIR)/$(plugin_dir)"
PLUGIN_DIR = -DPLUGIN_DIR="$(plugin_dir)"
PLUGIN_DIR_SQ = '$(subst ','\'',$(PLUGIN_DIR))'
PLUGIN_DIR_SQ = '$(subst ','\'',$(PLUGIN_DIR))'
endif
endif


+3 −0
Original line number Original line Diff line number Diff line
@@ -1045,6 +1045,9 @@ static void write_svg_file(struct timechart *tchart, const char *filename)
		thresh /= 10;
		thresh /= 10;
	} while (!process_filter && thresh && count < tchart->proc_num);
	} while (!process_filter && thresh && count < tchart->proc_num);


	if (!tchart->proc_num)
		count = 0;

	open_svg(filename, tchart->numcpus, count, tchart->first_time, tchart->last_time);
	open_svg(filename, tchart->numcpus, count, tchart->first_time, tchart->last_time);


	svg_time_grid();
	svg_time_grid();
+1 −1
Original line number Original line Diff line number Diff line
@@ -600,5 +600,5 @@ perfexec_instdir_SQ = $(subst ','\'',$(perfexec_instdir))
# Otherwise we install plugins into the global $(libdir).
# Otherwise we install plugins into the global $(libdir).
ifdef DESTDIR
ifdef DESTDIR
plugindir=$(libdir)/traceevent/plugins
plugindir=$(libdir)/traceevent/plugins
plugindir_SQ= $(subst ','\'',$(prefix)/$(plugindir))
plugindir_SQ= $(subst ','\'',$(plugindir))
endif
endif
+7 −0
Original line number Original line Diff line number Diff line
@@ -132,6 +132,13 @@
#define CPUINFO_PROC	"CPU"
#define CPUINFO_PROC	"CPU"
#endif
#endif


#ifdef __xtensa__
#define mb()		asm volatile("memw" ::: "memory")
#define wmb()		asm volatile("memw" ::: "memory")
#define rmb()		asm volatile("" ::: "memory")
#define CPUINFO_PROC	"core ID"
#endif

#define barrier() asm volatile ("" ::: "memory")
#define barrier() asm volatile ("" ::: "memory")


#ifndef cpu_relax
#ifndef cpu_relax
+5 −2
Original line number Original line Diff line number Diff line
@@ -1003,9 +1003,12 @@ void perf_evlist__close(struct perf_evlist *evlist)
	struct perf_evsel *evsel;
	struct perf_evsel *evsel;
	int ncpus = cpu_map__nr(evlist->cpus);
	int ncpus = cpu_map__nr(evlist->cpus);
	int nthreads = thread_map__nr(evlist->threads);
	int nthreads = thread_map__nr(evlist->threads);
	int n;


	evlist__for_each_reverse(evlist, evsel)
	evlist__for_each_reverse(evlist, evsel) {
		perf_evsel__close(evsel, ncpus, nthreads);
		n = evsel->cpus ? evsel->cpus->nr : ncpus;
		perf_evsel__close(evsel, n, nthreads);
	}
}
}


int perf_evlist__open(struct perf_evlist *evlist)
int perf_evlist__open(struct perf_evlist *evlist)
Loading