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

Commit 49e70dda authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'perf-fixes-for-linus' of...

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

* 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  perf tools: Dont use openat()
  perf tools: Fix buffer allocation
  perf tools: .gitignore += perf*.html
  perf tools: Handle relative paths while loading module symbols
  perf tools: Fix module symbol loading bug
  perf_event, x86: Fix 'perf sched record' crashing the machine
  perf_event: Update PERF_EVENT_FORK header definition
  perf stat: Fix zero total printouts
parents 179b9145 725b1368
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1790,6 +1790,9 @@ void smp_perf_pending_interrupt(struct pt_regs *regs)
void set_perf_event_pending(void)
{
#ifdef CONFIG_X86_LOCAL_APIC
	if (!x86_pmu.apic || !x86_pmu_initialized())
		return;

	apic->send_IPI_self(LOCAL_PENDING_VECTOR);
#endif
}
+1 −1
Original line number Diff line number Diff line
@@ -361,7 +361,7 @@ enum perf_event_type {
	 *	struct perf_event_header	header;
	 *	u32				pid, ppid;
	 *	u32				tid, ptid;
	 *	{ u64				time;     } && PERF_SAMPLE_TIME
	 *	u64				time;
	 * };
	 */
	PERF_EVENT_FORK			= 7,
+1 −1
Original line number Diff line number Diff line
@@ -357,7 +357,7 @@ enum perf_event_type {
	 *	struct perf_event_header	header;
	 *	u32				pid, ppid;
	 *	u32				tid, ptid;
	 *	{ u64				time;     } && PERF_SAMPLE_TIME
	 *	u64				time;
	 * };
	 */
	PERF_RECORD_FORK			= 7,
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ perf-stat
perf-top
perf*.1
perf*.xml
perf*.html
common-cmds.h
tags
TAGS
+14 −4
Original line number Diff line number Diff line
@@ -338,14 +338,24 @@ static void nsec_printout(int counter, double avg)

static void abs_printout(int counter, double avg)
{
	double total, ratio = 0.0;

	fprintf(stderr, " %14.0f  %-24s", avg, event_name(counter));

	if (MATCH_EVENT(HARDWARE, HW_INSTRUCTIONS, counter)) {
		fprintf(stderr, " # %10.3f IPC  ",
				avg / avg_stats(&runtime_cycles_stats));
		total = avg_stats(&runtime_cycles_stats);

		if (total)
			ratio = avg / total;

		fprintf(stderr, " # %10.3f IPC  ", ratio);
	} else {
		fprintf(stderr, " # %10.3f M/sec",
				1000.0 * avg / avg_stats(&runtime_nsecs_stats));
		total = avg_stats(&runtime_nsecs_stats);

		if (total)
			ratio = 1000.0 * avg / total;

		fprintf(stderr, " # %10.3f M/sec", ratio);
	}
}

Loading