aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/header.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2011-03-09 06:13:19 -0500
committerArnaldo Carvalho de Melo <acme@redhat.com>2011-03-10 09:16:28 -0500
commit1c0b04d10bbe35279c50e3b36cf5b8ec2a0050d8 (patch)
tree04f52089231f0f62464a0b148eb99da23a00c91d /tools/perf/util/header.c
parenta91e5431d54f5359fccb5ec2512f252eb217707e (diff)
perf header: Stop using 'self'
Stop using this python/OOP convention, doesn't really helps. Will do more from time to time till we get it cleaned up in all of tools/perf. Suggested-by: Thomas Gleixner <tglx@linutronix.de> LKML-Reference: <new-submission> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Tom Zanussi <tzanussi@gmail.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/header.c')
-rw-r--r--tools/perf/util/header.c199
1 files changed, 99 insertions, 100 deletions
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
index 40b10e4d3927..5a72d421e211 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -66,19 +66,19 @@ struct perf_file_attr {
66 struct perf_file_section ids; 66 struct perf_file_section ids;
67}; 67};
68 68
69void perf_header__set_feat(struct perf_header *self, int feat) 69void perf_header__set_feat(struct perf_header *header, int feat)
70{ 70{
71 set_bit(feat, self->adds_features); 71 set_bit(feat, header->adds_features);
72} 72}
73 73
74void perf_header__clear_feat(struct perf_header *self, int feat) 74void perf_header__clear_feat(struct perf_header *header, int feat)
75{ 75{
76 clear_bit(feat, self->adds_features); 76 clear_bit(feat, header->adds_features);
77} 77}
78 78
79bool perf_header__has_feat(const struct perf_header *self, int feat) 79bool perf_header__has_feat(const struct perf_header *header, int feat)
80{ 80{
81 return test_bit(feat, self->adds_features); 81 return test_bit(feat, header->adds_features);
82} 82}
83 83
84static int do_write(int fd, const void *buf, size_t size) 84static int do_write(int fd, const void *buf, size_t size)
@@ -147,22 +147,22 @@ static int __dsos__write_buildid_table(struct list_head *head, pid_t pid,
147 return 0; 147 return 0;
148} 148}
149 149
150static int machine__write_buildid_table(struct machine *self, int fd) 150static int machine__write_buildid_table(struct machine *machine, int fd)
151{ 151{
152 int err; 152 int err;
153 u16 kmisc = PERF_RECORD_MISC_KERNEL, 153 u16 kmisc = PERF_RECORD_MISC_KERNEL,
154 umisc = PERF_RECORD_MISC_USER; 154 umisc = PERF_RECORD_MISC_USER;
155 155
156 if (!machine__is_host(self)) { 156 if (!machine__is_host(machine)) {
157 kmisc = PERF_RECORD_MISC_GUEST_KERNEL; 157 kmisc = PERF_RECORD_MISC_GUEST_KERNEL;
158 umisc = PERF_RECORD_MISC_GUEST_USER; 158 umisc = PERF_RECORD_MISC_GUEST_USER;
159 } 159 }
160 160
161 err = __dsos__write_buildid_table(&self->kernel_dsos, self->pid, 161 err = __dsos__write_buildid_table(&machine->kernel_dsos, machine->pid,
162 kmisc, fd); 162 kmisc, fd);
163 if (err == 0) 163 if (err == 0)
164 err = __dsos__write_buildid_table(&self->user_dsos, 164 err = __dsos__write_buildid_table(&machine->user_dsos,
165 self->pid, umisc, fd); 165 machine->pid, umisc, fd);
166 return err; 166 return err;
167} 167}
168 168
@@ -280,12 +280,12 @@ out_free:
280 return err; 280 return err;
281} 281}
282 282
283static int dso__cache_build_id(struct dso *self, const char *debugdir) 283static int dso__cache_build_id(struct dso *dso, const char *debugdir)
284{ 284{
285 bool is_kallsyms = self->kernel && self->long_name[0] != '/'; 285 bool is_kallsyms = dso->kernel && dso->long_name[0] != '/';
286 286
287 return build_id_cache__add_b(self->build_id, sizeof(self->build_id), 287 return build_id_cache__add_b(dso->build_id, sizeof(dso->build_id),
288 self->long_name, debugdir, is_kallsyms); 288 dso->long_name, debugdir, is_kallsyms);
289} 289}
290 290
291static int __dsos__cache_build_ids(struct list_head *head, const char *debugdir) 291static int __dsos__cache_build_ids(struct list_head *head, const char *debugdir)
@@ -300,14 +300,14 @@ static int __dsos__cache_build_ids(struct list_head *head, const char *debugdir)
300 return err; 300 return err;
301} 301}
302 302
303static int machine__cache_build_ids(struct machine *self, const char *debugdir) 303static int machine__cache_build_ids(struct machine *machine, const char *debugdir)
304{ 304{
305 int ret = __dsos__cache_build_ids(&self->kernel_dsos, debugdir); 305 int ret = __dsos__cache_build_ids(&machine->kernel_dsos, debugdir);
306 ret |= __dsos__cache_build_ids(&self->user_dsos, debugdir); 306 ret |= __dsos__cache_build_ids(&machine->user_dsos, debugdir);
307 return ret; 307 return ret;
308} 308}
309 309
310static int perf_session__cache_build_ids(struct perf_session *self) 310static int perf_session__cache_build_ids(struct perf_session *session)
311{ 311{
312 struct rb_node *nd; 312 struct rb_node *nd;
313 int ret; 313 int ret;
@@ -318,28 +318,28 @@ static int perf_session__cache_build_ids(struct perf_session *self)
318 if (mkdir(debugdir, 0755) != 0 && errno != EEXIST) 318 if (mkdir(debugdir, 0755) != 0 && errno != EEXIST)
319 return -1; 319 return -1;
320 320
321 ret = machine__cache_build_ids(&self->host_machine, debugdir); 321 ret = machine__cache_build_ids(&session->host_machine, debugdir);
322 322
323 for (nd = rb_first(&self->machines); nd; nd = rb_next(nd)) { 323 for (nd = rb_first(&session->machines); nd; nd = rb_next(nd)) {
324 struct machine *pos = rb_entry(nd, struct machine, rb_node); 324 struct machine *pos = rb_entry(nd, struct machine, rb_node);
325 ret |= machine__cache_build_ids(pos, debugdir); 325 ret |= machine__cache_build_ids(pos, debugdir);
326 } 326 }
327 return ret ? -1 : 0; 327 return ret ? -1 : 0;
328} 328}
329 329
330static bool machine__read_build_ids(struct machine *self, bool with_hits) 330static bool machine__read_build_ids(struct machine *machine, bool with_hits)
331{ 331{
332 bool ret = __dsos__read_build_ids(&self->kernel_dsos, with_hits); 332 bool ret = __dsos__read_build_ids(&machine->kernel_dsos, with_hits);
333 ret |= __dsos__read_build_ids(&self->user_dsos, with_hits); 333 ret |= __dsos__read_build_ids(&machine->user_dsos, with_hits);
334 return ret; 334 return ret;
335} 335}
336 336
337static bool perf_session__read_build_ids(struct perf_session *self, bool with_hits) 337static bool perf_session__read_build_ids(struct perf_session *session, bool with_hits)
338{ 338{
339 struct rb_node *nd; 339 struct rb_node *nd;
340 bool ret = machine__read_build_ids(&self->host_machine, with_hits); 340 bool ret = machine__read_build_ids(&session->host_machine, with_hits);
341 341
342 for (nd = rb_first(&self->machines); nd; nd = rb_next(nd)) { 342 for (nd = rb_first(&session->machines); nd; nd = rb_next(nd)) {
343 struct machine *pos = rb_entry(nd, struct machine, rb_node); 343 struct machine *pos = rb_entry(nd, struct machine, rb_node);
344 ret |= machine__read_build_ids(pos, with_hits); 344 ret |= machine__read_build_ids(pos, with_hits);
345 } 345 }
@@ -347,7 +347,7 @@ static bool perf_session__read_build_ids(struct perf_session *self, bool with_hi
347 return ret; 347 return ret;
348} 348}
349 349
350static int perf_header__adds_write(struct perf_header *self, 350static int perf_header__adds_write(struct perf_header *header,
351 struct perf_evlist *evlist, int fd) 351 struct perf_evlist *evlist, int fd)
352{ 352{
353 int nr_sections; 353 int nr_sections;
@@ -357,13 +357,13 @@ static int perf_header__adds_write(struct perf_header *self,
357 u64 sec_start; 357 u64 sec_start;
358 int idx = 0, err; 358 int idx = 0, err;
359 359
360 session = container_of(self, struct perf_session, header); 360 session = container_of(header, struct perf_session, header);
361 361
362 if (perf_header__has_feat(self, HEADER_BUILD_ID && 362 if (perf_header__has_feat(header, HEADER_BUILD_ID &&
363 !perf_session__read_build_ids(session, true))) 363 !perf_session__read_build_ids(session, true)))
364 perf_header__clear_feat(self, HEADER_BUILD_ID); 364 perf_header__clear_feat(header, HEADER_BUILD_ID);
365 365
366 nr_sections = bitmap_weight(self->adds_features, HEADER_FEAT_BITS); 366 nr_sections = bitmap_weight(header->adds_features, HEADER_FEAT_BITS);
367 if (!nr_sections) 367 if (!nr_sections)
368 return 0; 368 return 0;
369 369
@@ -373,10 +373,10 @@ static int perf_header__adds_write(struct perf_header *self,
373 373
374 sec_size = sizeof(*feat_sec) * nr_sections; 374 sec_size = sizeof(*feat_sec) * nr_sections;
375 375
376 sec_start = self->data_offset + self->data_size; 376 sec_start = header->data_offset + header->data_size;
377 lseek(fd, sec_start + sec_size, SEEK_SET); 377 lseek(fd, sec_start + sec_size, SEEK_SET);
378 378
379 if (perf_header__has_feat(self, HEADER_TRACE_INFO)) { 379 if (perf_header__has_feat(header, HEADER_TRACE_INFO)) {
380 struct perf_file_section *trace_sec; 380 struct perf_file_section *trace_sec;
381 381
382 trace_sec = &feat_sec[idx++]; 382 trace_sec = &feat_sec[idx++];
@@ -387,14 +387,14 @@ static int perf_header__adds_write(struct perf_header *self,
387 trace_sec->size = lseek(fd, 0, SEEK_CUR) - trace_sec->offset; 387 trace_sec->size = lseek(fd, 0, SEEK_CUR) - trace_sec->offset;
388 } 388 }
389 389
390 if (perf_header__has_feat(self, HEADER_BUILD_ID)) { 390 if (perf_header__has_feat(header, HEADER_BUILD_ID)) {
391 struct perf_file_section *buildid_sec; 391 struct perf_file_section *buildid_sec;
392 392
393 buildid_sec = &feat_sec[idx++]; 393 buildid_sec = &feat_sec[idx++];
394 394
395 /* Write build-ids */ 395 /* Write build-ids */
396 buildid_sec->offset = lseek(fd, 0, SEEK_CUR); 396 buildid_sec->offset = lseek(fd, 0, SEEK_CUR);
397 err = dsos__write_buildid_table(self, fd); 397 err = dsos__write_buildid_table(header, fd);
398 if (err < 0) { 398 if (err < 0) {
399 pr_debug("failed to write buildid table\n"); 399 pr_debug("failed to write buildid table\n");
400 goto out_free; 400 goto out_free;
@@ -439,7 +439,7 @@ int perf_session__write_header(struct perf_session *session,
439{ 439{
440 struct perf_file_header f_header; 440 struct perf_file_header f_header;
441 struct perf_file_attr f_attr; 441 struct perf_file_attr f_attr;
442 struct perf_header *self = &session->header; 442 struct perf_header *header = &session->header;
443 struct perf_evsel *attr, *pair = NULL; 443 struct perf_evsel *attr, *pair = NULL;
444 int err; 444 int err;
445 445
@@ -465,7 +465,7 @@ out_err_write:
465 } 465 }
466 } 466 }
467 467
468 self->attr_offset = lseek(fd, 0, SEEK_CUR); 468 header->attr_offset = lseek(fd, 0, SEEK_CUR);
469 469
470 list_for_each_entry(attr, &evlist->entries, node) { 470 list_for_each_entry(attr, &evlist->entries, node) {
471 f_attr = (struct perf_file_attr){ 471 f_attr = (struct perf_file_attr){
@@ -482,20 +482,20 @@ out_err_write:
482 } 482 }
483 } 483 }
484 484
485 self->event_offset = lseek(fd, 0, SEEK_CUR); 485 header->event_offset = lseek(fd, 0, SEEK_CUR);
486 self->event_size = event_count * sizeof(struct perf_trace_event_type); 486 header->event_size = event_count * sizeof(struct perf_trace_event_type);
487 if (events) { 487 if (events) {
488 err = do_write(fd, events, self->event_size); 488 err = do_write(fd, events, header->event_size);
489 if (err < 0) { 489 if (err < 0) {
490 pr_debug("failed to write perf header events\n"); 490 pr_debug("failed to write perf header events\n");
491 return err; 491 return err;
492 } 492 }
493 } 493 }
494 494
495 self->data_offset = lseek(fd, 0, SEEK_CUR); 495 header->data_offset = lseek(fd, 0, SEEK_CUR);
496 496
497 if (at_exit) { 497 if (at_exit) {
498 err = perf_header__adds_write(self, evlist, fd); 498 err = perf_header__adds_write(header, evlist, fd);
499 if (err < 0) 499 if (err < 0)
500 return err; 500 return err;
501 } 501 }
@@ -505,20 +505,20 @@ out_err_write:
505 .size = sizeof(f_header), 505 .size = sizeof(f_header),
506 .attr_size = sizeof(f_attr), 506 .attr_size = sizeof(f_attr),
507 .attrs = { 507 .attrs = {
508 .offset = self->attr_offset, 508 .offset = header->attr_offset,
509 .size = evlist->nr_entries * sizeof(f_attr), 509 .size = evlist->nr_entries * sizeof(f_attr),
510 }, 510 },
511 .data = { 511 .data = {
512 .offset = self->data_offset, 512 .offset = header->data_offset,
513 .size = self->data_size, 513 .size = header->data_size,
514 }, 514 },
515 .event_types = { 515 .event_types = {
516 .offset = self->event_offset, 516 .offset = header->event_offset,
517 .size = self->event_size, 517 .size = header->event_size,
518 }, 518 },
519 }; 519 };
520 520
521 memcpy(&f_header.adds_features, &self->adds_features, sizeof(self->adds_features)); 521 memcpy(&f_header.adds_features, &header->adds_features, sizeof(header->adds_features));
522 522
523 lseek(fd, 0, SEEK_SET); 523 lseek(fd, 0, SEEK_SET);
524 err = do_write(fd, &f_header, sizeof(f_header)); 524 err = do_write(fd, &f_header, sizeof(f_header));
@@ -526,26 +526,26 @@ out_err_write:
526 pr_debug("failed to write perf header\n"); 526 pr_debug("failed to write perf header\n");
527 return err; 527 return err;
528 } 528 }
529 lseek(fd, self->data_offset + self->data_size, SEEK_SET); 529 lseek(fd, header->data_offset + header->data_size, SEEK_SET);
530 530
531 self->frozen = 1; 531 header->frozen = 1;
532 return 0; 532 return 0;
533} 533}
534 534
535static int perf_header__getbuffer64(struct perf_header *self, 535static int perf_header__getbuffer64(struct perf_header *header,
536 int fd, void *buf, size_t size) 536 int fd, void *buf, size_t size)
537{ 537{
538 if (readn(fd, buf, size) <= 0) 538 if (readn(fd, buf, size) <= 0)
539 return -1; 539 return -1;
540 540
541 if (self->needs_swap) 541 if (header->needs_swap)
542 mem_bswap_64(buf, size); 542 mem_bswap_64(buf, size);
543 543
544 return 0; 544 return 0;
545} 545}
546 546
547int perf_header__process_sections(struct perf_header *self, int fd, 547int perf_header__process_sections(struct perf_header *header, int fd,
548 int (*process)(struct perf_file_section *self, 548 int (*process)(struct perf_file_section *section,
549 struct perf_header *ph, 549 struct perf_header *ph,
550 int feat, int fd)) 550 int feat, int fd))
551{ 551{
@@ -555,7 +555,7 @@ int perf_header__process_sections(struct perf_header *self, int fd,
555 int idx = 0; 555 int idx = 0;
556 int err = -1, feat = 1; 556 int err = -1, feat = 1;
557 557
558 nr_sections = bitmap_weight(self->adds_features, HEADER_FEAT_BITS); 558 nr_sections = bitmap_weight(header->adds_features, HEADER_FEAT_BITS);
559 if (!nr_sections) 559 if (!nr_sections)
560 return 0; 560 return 0;
561 561
@@ -565,17 +565,17 @@ int perf_header__process_sections(struct perf_header *self, int fd,
565 565
566 sec_size = sizeof(*feat_sec) * nr_sections; 566 sec_size = sizeof(*feat_sec) * nr_sections;
567 567
568 lseek(fd, self->data_offset + self->data_size, SEEK_SET); 568 lseek(fd, header->data_offset + header->data_size, SEEK_SET);
569 569
570 if (perf_header__getbuffer64(self, fd, feat_sec, sec_size)) 570 if (perf_header__getbuffer64(header, fd, feat_sec, sec_size))
571 goto out_free; 571 goto out_free;
572 572
573 err = 0; 573 err = 0;
574 while (idx < nr_sections && feat < HEADER_LAST_FEATURE) { 574 while (idx < nr_sections && feat < HEADER_LAST_FEATURE) {
575 if (perf_header__has_feat(self, feat)) { 575 if (perf_header__has_feat(header, feat)) {
576 struct perf_file_section *sec = &feat_sec[idx++]; 576 struct perf_file_section *sec = &feat_sec[idx++];
577 577
578 err = process(sec, self, feat, fd); 578 err = process(sec, header, feat, fd);
579 if (err < 0) 579 if (err < 0)
580 break; 580 break;
581 } 581 }
@@ -586,35 +586,35 @@ out_free:
586 return err; 586 return err;
587} 587}
588 588
589int perf_file_header__read(struct perf_file_header *self, 589int perf_file_header__read(struct perf_file_header *header,
590 struct perf_header *ph, int fd) 590 struct perf_header *ph, int fd)
591{ 591{
592 lseek(fd, 0, SEEK_SET); 592 lseek(fd, 0, SEEK_SET);
593 593
594 if (readn(fd, self, sizeof(*self)) <= 0 || 594 if (readn(fd, header, sizeof(*header)) <= 0 ||
595 memcmp(&self->magic, __perf_magic, sizeof(self->magic))) 595 memcmp(&header->magic, __perf_magic, sizeof(header->magic)))
596 return -1; 596 return -1;
597 597
598 if (self->attr_size != sizeof(struct perf_file_attr)) { 598 if (header->attr_size != sizeof(struct perf_file_attr)) {
599 u64 attr_size = bswap_64(self->attr_size); 599 u64 attr_size = bswap_64(header->attr_size);
600 600
601 if (attr_size != sizeof(struct perf_file_attr)) 601 if (attr_size != sizeof(struct perf_file_attr))
602 return -1; 602 return -1;
603 603
604 mem_bswap_64(self, offsetof(struct perf_file_header, 604 mem_bswap_64(header, offsetof(struct perf_file_header,
605 adds_features)); 605 adds_features));
606 ph->needs_swap = true; 606 ph->needs_swap = true;
607 } 607 }
608 608
609 if (self->size != sizeof(*self)) { 609 if (header->size != sizeof(*header)) {
610 /* Support the previous format */ 610 /* Support the previous format */
611 if (self->size == offsetof(typeof(*self), adds_features)) 611 if (header->size == offsetof(typeof(*header), adds_features))
612 bitmap_zero(self->adds_features, HEADER_FEAT_BITS); 612 bitmap_zero(header->adds_features, HEADER_FEAT_BITS);
613 else 613 else
614 return -1; 614 return -1;
615 } 615 }
616 616
617 memcpy(&ph->adds_features, &self->adds_features, 617 memcpy(&ph->adds_features, &header->adds_features,
618 sizeof(ph->adds_features)); 618 sizeof(ph->adds_features));
619 /* 619 /*
620 * FIXME: hack that assumes that if we need swap the perf.data file 620 * FIXME: hack that assumes that if we need swap the perf.data file
@@ -628,10 +628,10 @@ int perf_file_header__read(struct perf_file_header *self,
628 perf_header__set_feat(ph, HEADER_BUILD_ID); 628 perf_header__set_feat(ph, HEADER_BUILD_ID);
629 } 629 }
630 630
631 ph->event_offset = self->event_types.offset; 631 ph->event_offset = header->event_types.offset;
632 ph->event_size = self->event_types.size; 632 ph->event_size = header->event_types.size;
633 ph->data_offset = self->data.offset; 633 ph->data_offset = header->data.offset;
634 ph->data_size = self->data.size; 634 ph->data_size = header->data.size;
635 return 0; 635 return 0;
636} 636}
637 637
@@ -690,11 +690,10 @@ out:
690 return err; 690 return err;
691} 691}
692 692
693static int perf_header__read_build_ids(struct perf_header *self, 693static int perf_header__read_build_ids(struct perf_header *header,
694 int input, u64 offset, u64 size) 694 int input, u64 offset, u64 size)
695{ 695{
696 struct perf_session *session = container_of(self, 696 struct perf_session *session = container_of(header, struct perf_session, header);
697 struct perf_session, header);
698 struct build_id_event bev; 697 struct build_id_event bev;
699 char filename[PATH_MAX]; 698 char filename[PATH_MAX];
700 u64 limit = offset + size; 699 u64 limit = offset + size;
@@ -706,7 +705,7 @@ static int perf_header__read_build_ids(struct perf_header *self,
706 if (read(input, &bev, sizeof(bev)) != sizeof(bev)) 705 if (read(input, &bev, sizeof(bev)) != sizeof(bev))
707 goto out; 706 goto out;
708 707
709 if (self->needs_swap) 708 if (header->needs_swap)
710 perf_event_header__bswap(&bev.header); 709 perf_event_header__bswap(&bev.header);
711 710
712 len = bev.header.size - sizeof(bev); 711 len = bev.header.size - sizeof(bev);
@@ -722,13 +721,13 @@ out:
722 return err; 721 return err;
723} 722}
724 723
725static int perf_file_section__process(struct perf_file_section *self, 724static int perf_file_section__process(struct perf_file_section *section,
726 struct perf_header *ph, 725 struct perf_header *ph,
727 int feat, int fd) 726 int feat, int fd)
728{ 727{
729 if (lseek(fd, self->offset, SEEK_SET) == (off_t)-1) { 728 if (lseek(fd, section->offset, SEEK_SET) == (off_t)-1) {
730 pr_debug("Failed to lseek to %" PRIu64 " offset for feature " 729 pr_debug("Failed to lseek to %" PRIu64 " offset for feature "
731 "%d, continuing...\n", self->offset, feat); 730 "%d, continuing...\n", section->offset, feat);
732 return 0; 731 return 0;
733 } 732 }
734 733
@@ -738,7 +737,7 @@ static int perf_file_section__process(struct perf_file_section *self,
738 break; 737 break;
739 738
740 case HEADER_BUILD_ID: 739 case HEADER_BUILD_ID:
741 if (perf_header__read_build_ids(ph, fd, self->offset, self->size)) 740 if (perf_header__read_build_ids(ph, fd, section->offset, section->size))
742 pr_debug("Failed to read buildids, continuing...\n"); 741 pr_debug("Failed to read buildids, continuing...\n");
743 break; 742 break;
744 default: 743 default:
@@ -748,21 +747,21 @@ static int perf_file_section__process(struct perf_file_section *self,
748 return 0; 747 return 0;
749} 748}
750 749
751static int perf_file_header__read_pipe(struct perf_pipe_file_header *self, 750static int perf_file_header__read_pipe(struct perf_pipe_file_header *header,
752 struct perf_header *ph, int fd, 751 struct perf_header *ph, int fd,
753 bool repipe) 752 bool repipe)
754{ 753{
755 if (readn(fd, self, sizeof(*self)) <= 0 || 754 if (readn(fd, header, sizeof(*header)) <= 0 ||
756 memcmp(&self->magic, __perf_magic, sizeof(self->magic))) 755 memcmp(&header->magic, __perf_magic, sizeof(header->magic)))
757 return -1; 756 return -1;
758 757
759 if (repipe && do_write(STDOUT_FILENO, self, sizeof(*self)) < 0) 758 if (repipe && do_write(STDOUT_FILENO, header, sizeof(*header)) < 0)
760 return -1; 759 return -1;
761 760
762 if (self->size != sizeof(*self)) { 761 if (header->size != sizeof(*header)) {
763 u64 size = bswap_64(self->size); 762 u64 size = bswap_64(header->size);
764 763
765 if (size != sizeof(*self)) 764 if (size != sizeof(*header))
766 return -1; 765 return -1;
767 766
768 ph->needs_swap = true; 767 ph->needs_swap = true;
@@ -773,10 +772,10 @@ static int perf_file_header__read_pipe(struct perf_pipe_file_header *self,
773 772
774static int perf_header__read_pipe(struct perf_session *session, int fd) 773static int perf_header__read_pipe(struct perf_session *session, int fd)
775{ 774{
776 struct perf_header *self = &session->header; 775 struct perf_header *header = &session->header;
777 struct perf_pipe_file_header f_header; 776 struct perf_pipe_file_header f_header;
778 777
779 if (perf_file_header__read_pipe(&f_header, self, fd, 778 if (perf_file_header__read_pipe(&f_header, header, fd,
780 session->repipe) < 0) { 779 session->repipe) < 0) {
781 pr_debug("incompatible file format\n"); 780 pr_debug("incompatible file format\n");
782 return -EINVAL; 781 return -EINVAL;
@@ -789,7 +788,7 @@ static int perf_header__read_pipe(struct perf_session *session, int fd)
789 788
790int perf_session__read_header(struct perf_session *session, int fd) 789int perf_session__read_header(struct perf_session *session, int fd)
791{ 790{
792 struct perf_header *self = &session->header; 791 struct perf_header *header = &session->header;
793 struct perf_file_header f_header; 792 struct perf_file_header f_header;
794 struct perf_file_attr f_attr; 793 struct perf_file_attr f_attr;
795 u64 f_id; 794 u64 f_id;
@@ -802,7 +801,7 @@ int perf_session__read_header(struct perf_session *session, int fd)
802 if (session->fd_pipe) 801 if (session->fd_pipe)
803 return perf_header__read_pipe(session, fd); 802 return perf_header__read_pipe(session, fd);
804 803
805 if (perf_file_header__read(&f_header, self, fd) < 0) { 804 if (perf_file_header__read(&f_header, header, fd) < 0) {
806 pr_debug("incompatible file format\n"); 805 pr_debug("incompatible file format\n");
807 return -EINVAL; 806 return -EINVAL;
808 } 807 }
@@ -814,7 +813,7 @@ int perf_session__read_header(struct perf_session *session, int fd)
814 struct perf_evsel *evsel; 813 struct perf_evsel *evsel;
815 off_t tmp; 814 off_t tmp;
816 815
817 if (perf_header__getbuffer64(self, fd, &f_attr, sizeof(f_attr))) 816 if (perf_header__getbuffer64(header, fd, &f_attr, sizeof(f_attr)))
818 goto out_errno; 817 goto out_errno;
819 818
820 tmp = lseek(fd, 0, SEEK_CUR); 819 tmp = lseek(fd, 0, SEEK_CUR);
@@ -840,7 +839,7 @@ int perf_session__read_header(struct perf_session *session, int fd)
840 lseek(fd, f_attr.ids.offset, SEEK_SET); 839 lseek(fd, f_attr.ids.offset, SEEK_SET);
841 840
842 for (j = 0; j < nr_ids; j++) { 841 for (j = 0; j < nr_ids; j++) {
843 if (perf_header__getbuffer64(self, fd, &f_id, sizeof(f_id))) 842 if (perf_header__getbuffer64(header, fd, &f_id, sizeof(f_id)))
844 goto out_errno; 843 goto out_errno;
845 844
846 perf_evlist__id_add(session->evlist, evsel, 0, j, f_id); 845 perf_evlist__id_add(session->evlist, evsel, 0, j, f_id);
@@ -854,17 +853,17 @@ int perf_session__read_header(struct perf_session *session, int fd)
854 events = malloc(f_header.event_types.size); 853 events = malloc(f_header.event_types.size);
855 if (events == NULL) 854 if (events == NULL)
856 return -ENOMEM; 855 return -ENOMEM;
857 if (perf_header__getbuffer64(self, fd, events, 856 if (perf_header__getbuffer64(header, fd, events,
858 f_header.event_types.size)) 857 f_header.event_types.size))
859 goto out_errno; 858 goto out_errno;
860 event_count = f_header.event_types.size / sizeof(struct perf_trace_event_type); 859 event_count = f_header.event_types.size / sizeof(struct perf_trace_event_type);
861 } 860 }
862 861
863 perf_header__process_sections(self, fd, perf_file_section__process); 862 perf_header__process_sections(header, fd, perf_file_section__process);
864 863
865 lseek(fd, self->data_offset, SEEK_SET); 864 lseek(fd, header->data_offset, SEEK_SET);
866 865
867 self->frozen = 1; 866 header->frozen = 1;
868 return 0; 867 return 0;
869out_errno: 868out_errno:
870 return -errno; 869 return -errno;