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

Commit e25804a0 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge branch 'perf/core' of...

Merge branch 'perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 into perf/urgent
parents 5c16d2c8 00204c33
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -83,6 +83,10 @@ OPTIONS
--call-graph::
	Do call-graph (stack chain/backtrace) recording.

-q::
--quiet::
	Don't print any message, useful for scripting.

-v::
--verbose::
	Be more verbose (show counter open errors, etc).
+6 −2
Original line number Diff line number Diff line
@@ -353,7 +353,7 @@ static void create_counter(int counter, int cpu)
		}

		if (read(fd[nr_cpu][counter][thread_index], &read_data, sizeof(read_data)) == -1) {
			perror("Unable to read perf file descriptor\n");
			perror("Unable to read perf file descriptor");
			exit(-1);
		}

@@ -626,7 +626,7 @@ static int __cmd_record(int argc, const char **argv)

	nr_cpus = read_cpu_map(cpu_list);
	if (nr_cpus < 1) {
		perror("failed to collect number of CPUs\n");
		perror("failed to collect number of CPUs");
		return -1;
	}

@@ -761,6 +761,9 @@ static int __cmd_record(int argc, const char **argv)
		}
	}

	if (quiet)
		return 0;

	fprintf(stderr, "[ perf record: Woken up %ld times to write data ]\n", waking);

	/*
@@ -820,6 +823,7 @@ static const struct option options[] = {
		    "do call-graph (stack chain/backtrace) recording"),
	OPT_INCR('v', "verbose", &verbose,
		    "be more verbose (show counter open errors, etc)"),
	OPT_BOOLEAN('q', "quiet", &quiet, "don't print any message"),
	OPT_BOOLEAN('s', "stat", &inherit_stat,
		    "per thread counts"),
	OPT_BOOLEAN('d', "data", &sample_address,
+5 −4
Original line number Diff line number Diff line
@@ -625,12 +625,13 @@ int cmd_trace(int argc, const char **argv, const char *prefix __used)
			dup2(live_pipe[1], 1);
			close(live_pipe[0]);

			__argv = malloc(5 * sizeof(const char *));
			__argv = malloc(6 * sizeof(const char *));
			__argv[0] = "/bin/sh";
			__argv[1] = record_script_path;
			__argv[2] = "-o";
			__argv[3] = "-";
			__argv[4] = NULL;
			__argv[2] = "-q";
			__argv[3] = "-o";
			__argv[4] = "-";
			__argv[5] = NULL;

			execvp("/bin/sh", (char **)__argv);
			exit(-1);
+18 −0
Original line number Diff line number Diff line
@@ -8,6 +8,12 @@

import errno, os

FUTEX_WAIT = 0
FUTEX_WAKE = 1
FUTEX_PRIVATE_FLAG = 128
FUTEX_CLOCK_REALTIME = 256
FUTEX_CMD_MASK = ~(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME)

NSECS_PER_SEC    = 1000000000

def avg(total, n):
@@ -26,6 +32,18 @@ def nsecs_str(nsecs):
    str = "%5u.%09u" % (nsecs_secs(nsecs), nsecs_nsecs(nsecs)),
    return str

def add_stats(dict, key, value):
	if not dict.has_key(key):
		dict[key] = (value, value, value, 1)
	else:
		min, max, avg, count = dict[key]
		if value < min:
			min = value
		if value > max:
			max = value
		avg = (avg + value) / 2
		dict[key] = (min, max, avg, count + 1)

def clear_term():
    print("\x1b[H\x1b[2J")

+2 −0
Original line number Diff line number Diff line
#!/bin/bash
perf record -a -e syscalls:sys_enter_futex -e syscalls:sys_exit_futex $@
Loading