aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2013-12-19 12:38:03 -0500
committerArnaldo Carvalho de Melo <acme@redhat.com>2013-12-19 12:38:03 -0500
commit8c6f45a7c263840c27dfe846d40577b49e43b85b (patch)
tree4125165f3644aba55cd75535af29ccf9aea6b5a0 /tools
parentcf8b2e6941091d2034f19c1799f8d6407bd565a4 (diff)
perf record: Rename 'perf_record' to plain 'record'
Its a local struct and the functions use the __ separator from the class name to the method name, so its unlikely that this will clash with other namespaces. Save some typing then. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/n/tip-r011tdv7ianars9jr9ur2n4q@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/perf/builtin-record.c58
1 files changed, 28 insertions, 30 deletions
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index e8d606caf747..f2624d43333e 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -62,7 +62,7 @@ static void __handle_on_exit_funcs(void)
62} 62}
63#endif 63#endif
64 64
65struct perf_record { 65struct record {
66 struct perf_tool tool; 66 struct perf_tool tool;
67 struct perf_record_opts opts; 67 struct perf_record_opts opts;
68 u64 bytes_written; 68 u64 bytes_written;
@@ -76,7 +76,7 @@ struct perf_record {
76 long samples; 76 long samples;
77}; 77};
78 78
79static int perf_record__write(struct perf_record *rec, void *bf, size_t size) 79static int record__write(struct record *rec, void *bf, size_t size)
80{ 80{
81 if (perf_data_file__write(rec->session->file, bf, size) < 0) { 81 if (perf_data_file__write(rec->session->file, bf, size) < 0) {
82 pr_err("failed to write perf data, error: %m\n"); 82 pr_err("failed to write perf data, error: %m\n");
@@ -92,12 +92,11 @@ static int process_synthesized_event(struct perf_tool *tool,
92 struct perf_sample *sample __maybe_unused, 92 struct perf_sample *sample __maybe_unused,
93 struct machine *machine __maybe_unused) 93 struct machine *machine __maybe_unused)
94{ 94{
95 struct perf_record *rec = container_of(tool, struct perf_record, tool); 95 struct record *rec = container_of(tool, struct record, tool);
96 return perf_record__write(rec, event, event->header.size); 96 return record__write(rec, event, event->header.size);
97} 97}
98 98
99static int perf_record__mmap_read(struct perf_record *rec, 99static int record__mmap_read(struct record *rec, struct perf_mmap *md)
100 struct perf_mmap *md)
101{ 100{
102 unsigned int head = perf_mmap__read_head(md); 101 unsigned int head = perf_mmap__read_head(md);
103 unsigned int old = md->prev; 102 unsigned int old = md->prev;
@@ -118,7 +117,7 @@ static int perf_record__mmap_read(struct perf_record *rec,
118 size = md->mask + 1 - (old & md->mask); 117 size = md->mask + 1 - (old & md->mask);
119 old += size; 118 old += size;
120 119
121 if (perf_record__write(rec, buf, size) < 0) { 120 if (record__write(rec, buf, size) < 0) {
122 rc = -1; 121 rc = -1;
123 goto out; 122 goto out;
124 } 123 }
@@ -128,7 +127,7 @@ static int perf_record__mmap_read(struct perf_record *rec,
128 size = head - old; 127 size = head - old;
129 old += size; 128 old += size;
130 129
131 if (perf_record__write(rec, buf, size) < 0) { 130 if (record__write(rec, buf, size) < 0) {
132 rc = -1; 131 rc = -1;
133 goto out; 132 goto out;
134 } 133 }
@@ -153,9 +152,9 @@ static void sig_handler(int sig)
153 signr = sig; 152 signr = sig;
154} 153}
155 154
156static void perf_record__sig_exit(int exit_status __maybe_unused, void *arg) 155static void record__sig_exit(int exit_status __maybe_unused, void *arg)
157{ 156{
158 struct perf_record *rec = arg; 157 struct record *rec = arg;
159 int status; 158 int status;
160 159
161 if (rec->evlist->workload.pid > 0) { 160 if (rec->evlist->workload.pid > 0) {
@@ -173,7 +172,7 @@ static void perf_record__sig_exit(int exit_status __maybe_unused, void *arg)
173 signal(signr, SIG_DFL); 172 signal(signr, SIG_DFL);
174} 173}
175 174
176static int perf_record__open(struct perf_record *rec) 175static int record__open(struct record *rec)
177{ 176{
178 char msg[512]; 177 char msg[512];
179 struct perf_evsel *pos; 178 struct perf_evsel *pos;
@@ -229,7 +228,7 @@ out:
229 return rc; 228 return rc;
230} 229}
231 230
232static int process_buildids(struct perf_record *rec) 231static int process_buildids(struct record *rec)
233{ 232{
234 struct perf_data_file *file = &rec->file; 233 struct perf_data_file *file = &rec->file;
235 struct perf_session *session = rec->session; 234 struct perf_session *session = rec->session;
@@ -244,9 +243,9 @@ static int process_buildids(struct perf_record *rec)
244 size, &build_id__mark_dso_hit_ops); 243 size, &build_id__mark_dso_hit_ops);
245} 244}
246 245
247static void perf_record__exit(int status, void *arg) 246static void record__exit(int status, void *arg)
248{ 247{
249 struct perf_record *rec = arg; 248 struct record *rec = arg;
250 struct perf_data_file *file = &rec->file; 249 struct perf_data_file *file = &rec->file;
251 250
252 if (status != 0) 251 if (status != 0)
@@ -302,14 +301,14 @@ static struct perf_event_header finished_round_event = {
302 .type = PERF_RECORD_FINISHED_ROUND, 301 .type = PERF_RECORD_FINISHED_ROUND,
303}; 302};
304 303
305static int perf_record__mmap_read_all(struct perf_record *rec) 304static int record__mmap_read_all(struct record *rec)
306{ 305{
307 int i; 306 int i;
308 int rc = 0; 307 int rc = 0;
309 308
310 for (i = 0; i < rec->evlist->nr_mmaps; i++) { 309 for (i = 0; i < rec->evlist->nr_mmaps; i++) {
311 if (rec->evlist->mmap[i].base) { 310 if (rec->evlist->mmap[i].base) {
312 if (perf_record__mmap_read(rec, &rec->evlist->mmap[i]) != 0) { 311 if (record__mmap_read(rec, &rec->evlist->mmap[i]) != 0) {
313 rc = -1; 312 rc = -1;
314 goto out; 313 goto out;
315 } 314 }
@@ -317,14 +316,13 @@ static int perf_record__mmap_read_all(struct perf_record *rec)
317 } 316 }
318 317
319 if (perf_header__has_feat(&rec->session->header, HEADER_TRACING_DATA)) 318 if (perf_header__has_feat(&rec->session->header, HEADER_TRACING_DATA))
320 rc = perf_record__write(rec, &finished_round_event, 319 rc = record__write(rec, &finished_round_event, sizeof(finished_round_event));
321 sizeof(finished_round_event));
322 320
323out: 321out:
324 return rc; 322 return rc;
325} 323}
326 324
327static void perf_record__init_features(struct perf_record *rec) 325static void record__init_features(struct record *rec)
328{ 326{
329 struct perf_evlist *evsel_list = rec->evlist; 327 struct perf_evlist *evsel_list = rec->evlist;
330 struct perf_session *session = rec->session; 328 struct perf_session *session = rec->session;
@@ -343,7 +341,7 @@ static void perf_record__init_features(struct perf_record *rec)
343 perf_header__clear_feat(&session->header, HEADER_BRANCH_STACK); 341 perf_header__clear_feat(&session->header, HEADER_BRANCH_STACK);
344} 342}
345 343
346static int __cmd_record(struct perf_record *rec, int argc, const char **argv) 344static int __cmd_record(struct record *rec, int argc, const char **argv)
347{ 345{
348 int err; 346 int err;
349 unsigned long waking = 0; 347 unsigned long waking = 0;
@@ -358,7 +356,7 @@ static int __cmd_record(struct perf_record *rec, int argc, const char **argv)
358 356
359 rec->progname = argv[0]; 357 rec->progname = argv[0];
360 358
361 on_exit(perf_record__sig_exit, rec); 359 on_exit(record__sig_exit, rec);
362 signal(SIGCHLD, sig_handler); 360 signal(SIGCHLD, sig_handler);
363 signal(SIGINT, sig_handler); 361 signal(SIGINT, sig_handler);
364 signal(SIGUSR1, sig_handler); 362 signal(SIGUSR1, sig_handler);
@@ -372,7 +370,7 @@ static int __cmd_record(struct perf_record *rec, int argc, const char **argv)
372 370
373 rec->session = session; 371 rec->session = session;
374 372
375 perf_record__init_features(rec); 373 record__init_features(rec);
376 374
377 if (forks) { 375 if (forks) {
378 err = perf_evlist__prepare_workload(evsel_list, &opts->target, 376 err = perf_evlist__prepare_workload(evsel_list, &opts->target,
@@ -384,7 +382,7 @@ static int __cmd_record(struct perf_record *rec, int argc, const char **argv)
384 } 382 }
385 } 383 }
386 384
387 if (perf_record__open(rec) != 0) { 385 if (record__open(rec) != 0) {
388 err = -1; 386 err = -1;
389 goto out_delete_session; 387 goto out_delete_session;
390 } 388 }
@@ -393,9 +391,9 @@ static int __cmd_record(struct perf_record *rec, int argc, const char **argv)
393 perf_header__clear_feat(&session->header, HEADER_GROUP_DESC); 391 perf_header__clear_feat(&session->header, HEADER_GROUP_DESC);
394 392
395 /* 393 /*
396 * perf_session__delete(session) will be called at perf_record__exit() 394 * perf_session__delete(session) will be called at record__exit()
397 */ 395 */
398 on_exit(perf_record__exit, rec); 396 on_exit(record__exit, rec);
399 397
400 if (file->is_pipe) { 398 if (file->is_pipe) {
401 err = perf_header__write_pipe(file->fd); 399 err = perf_header__write_pipe(file->fd);
@@ -500,7 +498,7 @@ static int __cmd_record(struct perf_record *rec, int argc, const char **argv)
500 for (;;) { 498 for (;;) {
501 int hits = rec->samples; 499 int hits = rec->samples;
502 500
503 if (perf_record__mmap_read_all(rec) < 0) { 501 if (record__mmap_read_all(rec) < 0) {
504 err = -1; 502 err = -1;
505 goto out_delete_session; 503 goto out_delete_session;
506 } 504 }
@@ -765,8 +763,8 @@ static const char * const record_usage[] = {
765}; 763};
766 764
767/* 765/*
768 * XXX Ideally would be local to cmd_record() and passed to a perf_record__new 766 * XXX Ideally would be local to cmd_record() and passed to a record__new
769 * because we need to have access to it in perf_record__exit, that is called 767 * because we need to have access to it in record__exit, that is called
770 * after cmd_record() exits, but since record_options need to be accessible to 768 * after cmd_record() exits, but since record_options need to be accessible to
771 * builtin-script, leave it here. 769 * builtin-script, leave it here.
772 * 770 *
@@ -774,7 +772,7 @@ static const char * const record_usage[] = {
774 * 772 *
775 * Just say no to tons of global variables, sigh. 773 * Just say no to tons of global variables, sigh.
776 */ 774 */
777static struct perf_record record = { 775static struct record record = {
778 .opts = { 776 .opts = {
779 .mmap_pages = UINT_MAX, 777 .mmap_pages = UINT_MAX,
780 .user_freq = UINT_MAX, 778 .user_freq = UINT_MAX,
@@ -881,7 +879,7 @@ int cmd_record(int argc, const char **argv, const char *prefix __maybe_unused)
881{ 879{
882 int err = -ENOMEM; 880 int err = -ENOMEM;
883 struct perf_evlist *evsel_list; 881 struct perf_evlist *evsel_list;
884 struct perf_record *rec = &record; 882 struct record *rec = &record;
885 char errbuf[BUFSIZ]; 883 char errbuf[BUFSIZ];
886 884
887 evsel_list = perf_evlist__new(); 885 evsel_list = perf_evlist__new();