Loading Documentation/perf_counter/Documentation/perf-record.txt 0 → 100644 +63 −0 Original line number Diff line number Diff line perf-record(1) ========== NAME ---- perf-record - Run a command and record its profile into output.perf SYNOPSIS -------- [verse] 'perf record' [-e <EVENT> | --event=EVENT] [-l] [-a] <command> DESCRIPTION ----------- This command runs a command and gathers a performance counter profile from it, into output.perf - without displaying anything. This file can then be inspected later on, using 'perf report'. OPTIONS ------- <command>...:: Any command you can specify in a shell. -e:: --event=:: 0:0: cpu-cycles 0:0: cycles 0:1: instructions 0:2: cache-references 0:3: cache-misses 0:4: branch-instructions 0:4: branches 0:5: branch-misses 0:6: bus-cycles 1:0: cpu-clock 1:1: task-clock 1:2: page-faults 1:2: faults 1:5: minor-faults 1:6: major-faults 1:3: context-switches 1:3: cs 1:4: cpu-migrations 1:4: migrations rNNN: raw PMU events (eventsel+umask) -a:: system-wide collection -l:: scale counter values Configuration ------------- EXAMPLES -------- SEE ALSO -------- linkperf:git-stat[1] Documentation/perf_counter/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -309,6 +309,7 @@ LIB_OBJS += usage.o LIB_OBJS += wrapper.o BUILTIN_OBJS += builtin-help.o BUILTIN_OBJS += builtin-record.o BUILTIN_OBJS += builtin-stat.o BUILTIN_OBJS += builtin-top.o Loading Documentation/perf_counter/perf-record.c→Documentation/perf_counter/builtin-record.c +3 −27 Original line number Diff line number Diff line Loading @@ -81,16 +81,12 @@ (void) (&_min1 == &_min2); \ _min1 < _min2 ? _min1 : _min2; }) asmlinkage int sys_perf_counter_open( extern asmlinkage int sys_perf_counter_open( struct perf_counter_hw_event *hw_event_uptr __user, pid_t pid, int cpu, int group_fd, unsigned long flags) { return syscall( __NR_perf_counter_open, hw_event_uptr, pid, cpu, group_fd, flags); } unsigned long flags); #define MAX_COUNTERS 64 #define MAX_NR_CPUS 256 Loading Loading @@ -119,26 +115,6 @@ const unsigned int default_count[] = { 10000, }; static char *hw_event_names[] = { "CPU cycles", "instructions", "cache references", "cache misses", "branches", "branch misses", "bus cycles", }; static char *sw_event_names[] = { "cpu clock ticks", "task clock ticks", "pagefaults", "context switches", "CPU migrations", "minor faults", "major faults", }; struct event_symbol { __u64 event; char *symbol; Loading Loading @@ -414,7 +390,7 @@ static void sigchld_handler(int sig) done = 1; } int main(int argc, char *argv[]) int cmd_record(int argc, const char **argv) { struct pollfd event_array[MAX_NR_CPUS * MAX_COUNTERS]; struct mmap_data mmap_array[MAX_NR_CPUS][MAX_COUNTERS]; Loading Documentation/perf_counter/builtin.h +2 −1 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ extern void prune_packed_objects(int); extern int read_line_with_nul(char *buf, int size, FILE *file); extern int check_pager_config(const char *cmd); extern int cmd_top(int argc, const char **argv, const char *prefix); extern int cmd_record(int argc, const char **argv, const char *prefix); extern int cmd_stat(int argc, const char **argv, const char *prefix); extern int cmd_top(int argc, const char **argv, const char *prefix); #endif Documentation/perf_counter/command-list.txt +2 −1 Original line number Diff line number Diff line # List of known perf commands. # command name category [deprecated] [common] perf-top mainporcelain common perf-record mainporcelain common perf-stat mainporcelain common perf-top mainporcelain common Loading
Documentation/perf_counter/Documentation/perf-record.txt 0 → 100644 +63 −0 Original line number Diff line number Diff line perf-record(1) ========== NAME ---- perf-record - Run a command and record its profile into output.perf SYNOPSIS -------- [verse] 'perf record' [-e <EVENT> | --event=EVENT] [-l] [-a] <command> DESCRIPTION ----------- This command runs a command and gathers a performance counter profile from it, into output.perf - without displaying anything. This file can then be inspected later on, using 'perf report'. OPTIONS ------- <command>...:: Any command you can specify in a shell. -e:: --event=:: 0:0: cpu-cycles 0:0: cycles 0:1: instructions 0:2: cache-references 0:3: cache-misses 0:4: branch-instructions 0:4: branches 0:5: branch-misses 0:6: bus-cycles 1:0: cpu-clock 1:1: task-clock 1:2: page-faults 1:2: faults 1:5: minor-faults 1:6: major-faults 1:3: context-switches 1:3: cs 1:4: cpu-migrations 1:4: migrations rNNN: raw PMU events (eventsel+umask) -a:: system-wide collection -l:: scale counter values Configuration ------------- EXAMPLES -------- SEE ALSO -------- linkperf:git-stat[1]
Documentation/perf_counter/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -309,6 +309,7 @@ LIB_OBJS += usage.o LIB_OBJS += wrapper.o BUILTIN_OBJS += builtin-help.o BUILTIN_OBJS += builtin-record.o BUILTIN_OBJS += builtin-stat.o BUILTIN_OBJS += builtin-top.o Loading
Documentation/perf_counter/perf-record.c→Documentation/perf_counter/builtin-record.c +3 −27 Original line number Diff line number Diff line Loading @@ -81,16 +81,12 @@ (void) (&_min1 == &_min2); \ _min1 < _min2 ? _min1 : _min2; }) asmlinkage int sys_perf_counter_open( extern asmlinkage int sys_perf_counter_open( struct perf_counter_hw_event *hw_event_uptr __user, pid_t pid, int cpu, int group_fd, unsigned long flags) { return syscall( __NR_perf_counter_open, hw_event_uptr, pid, cpu, group_fd, flags); } unsigned long flags); #define MAX_COUNTERS 64 #define MAX_NR_CPUS 256 Loading Loading @@ -119,26 +115,6 @@ const unsigned int default_count[] = { 10000, }; static char *hw_event_names[] = { "CPU cycles", "instructions", "cache references", "cache misses", "branches", "branch misses", "bus cycles", }; static char *sw_event_names[] = { "cpu clock ticks", "task clock ticks", "pagefaults", "context switches", "CPU migrations", "minor faults", "major faults", }; struct event_symbol { __u64 event; char *symbol; Loading Loading @@ -414,7 +390,7 @@ static void sigchld_handler(int sig) done = 1; } int main(int argc, char *argv[]) int cmd_record(int argc, const char **argv) { struct pollfd event_array[MAX_NR_CPUS * MAX_COUNTERS]; struct mmap_data mmap_array[MAX_NR_CPUS][MAX_COUNTERS]; Loading
Documentation/perf_counter/builtin.h +2 −1 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ extern void prune_packed_objects(int); extern int read_line_with_nul(char *buf, int size, FILE *file); extern int check_pager_config(const char *cmd); extern int cmd_top(int argc, const char **argv, const char *prefix); extern int cmd_record(int argc, const char **argv, const char *prefix); extern int cmd_stat(int argc, const char **argv, const char *prefix); extern int cmd_top(int argc, const char **argv, const char *prefix); #endif
Documentation/perf_counter/command-list.txt +2 −1 Original line number Diff line number Diff line # List of known perf commands. # command name category [deprecated] [common] perf-top mainporcelain common perf-record mainporcelain common perf-stat mainporcelain common perf-top mainporcelain common