aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2009-11-10 22:51:06 -0500
committerIngo Molnar <mingo@elte.hu>2009-11-11 01:30:19 -0500
commit3e13ab2d83b6867a20663c73c184f29c2fde1558 (patch)
treed0c67b84db78934e5a8c634261d0df017f0038fb
parent4778d2e4f410c6eea32f594cb2be9590bcb28b84 (diff)
perf tools: Use perf_header__set/has_feat whenever possible
And drop the alternate checks/sets using set_bit or other kind of helpers. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp> LKML-Reference: <1257911467-28276-5-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--tools/perf/builtin-record.c4
-rw-r--r--tools/perf/util/header.c12
-rw-r--r--tools/perf/util/header.h1
3 files changed, 4 insertions, 13 deletions
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index c35e61b30988..326e8a79cabf 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -431,11 +431,11 @@ static int __cmd_record(int argc, const char **argv)
431 header = perf_header__new(); 431 header = perf_header__new();
432 432
433 if (raw_samples) { 433 if (raw_samples) {
434 perf_header__feat_trace_info(header); 434 perf_header__set_feat(header, HEADER_TRACE_INFO);
435 } else { 435 } else {
436 for (i = 0; i < nr_counters; i++) { 436 for (i = 0; i < nr_counters; i++) {
437 if (attrs[i].sample_type & PERF_SAMPLE_RAW) { 437 if (attrs[i].sample_type & PERF_SAMPLE_RAW) {
438 perf_header__feat_trace_info(header); 438 perf_header__set_feat(header, HEADER_TRACE_INFO);
439 break; 439 break;
440 } 440 }
441 } 441 }
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
index 915b56edbf02..9709d38113b1 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -148,11 +148,6 @@ struct perf_file_header {
148 DECLARE_BITMAP(adds_features, HEADER_FEAT_BITS); 148 DECLARE_BITMAP(adds_features, HEADER_FEAT_BITS);
149}; 149};
150 150
151void perf_header__feat_trace_info(struct perf_header *header)
152{
153 set_bit(HEADER_TRACE_INFO, header->adds_features);
154}
155
156void perf_header__set_feat(struct perf_header *self, int feat) 151void perf_header__set_feat(struct perf_header *self, int feat)
157{ 152{
158 set_bit(feat, self->adds_features); 153 set_bit(feat, self->adds_features);
@@ -195,9 +190,8 @@ perf_header__adds_write(struct perf_header *self, int fd, bool at_exit)
195{ 190{
196 struct perf_file_section trace_sec; 191 struct perf_file_section trace_sec;
197 u64 cur_offset = lseek(fd, 0, SEEK_CUR); 192 u64 cur_offset = lseek(fd, 0, SEEK_CUR);
198 unsigned long *feat_mask = self->adds_features;
199 193
200 if (test_bit(HEADER_TRACE_INFO, feat_mask)) { 194 if (perf_header__has_feat(self, HEADER_TRACE_INFO)) {
201 /* Write trace info */ 195 /* Write trace info */
202 trace_sec.offset = lseek(fd, sizeof(trace_sec), SEEK_CUR); 196 trace_sec.offset = lseek(fd, sizeof(trace_sec), SEEK_CUR);
203 read_tracing_data(fd, attrs, nr_counters); 197 read_tracing_data(fd, attrs, nr_counters);
@@ -314,9 +308,7 @@ static void do_read(int fd, void *buf, size_t size)
314 308
315static void perf_header__adds_read(struct perf_header *self, int fd) 309static void perf_header__adds_read(struct perf_header *self, int fd)
316{ 310{
317 const unsigned long *feat_mask = self->adds_features; 311 if (perf_header__has_feat(self, HEADER_TRACE_INFO)) {
318
319 if (test_bit(HEADER_TRACE_INFO, feat_mask)) {
320 struct perf_file_section trace_sec; 312 struct perf_file_section trace_sec;
321 313
322 do_read(fd, &trace_sec, sizeof(trace_sec)); 314 do_read(fd, &trace_sec, sizeof(trace_sec));
diff --git a/tools/perf/util/header.h b/tools/perf/util/header.h
index 77186c9e605b..a22d70b07571 100644
--- a/tools/perf/util/header.h
+++ b/tools/perf/util/header.h
@@ -49,7 +49,6 @@ void perf_header_attr__add_id(struct perf_header_attr *self, u64 id);
49u64 perf_header__sample_type(struct perf_header *header); 49u64 perf_header__sample_type(struct perf_header *header);
50struct perf_event_attr * 50struct perf_event_attr *
51perf_header__find_attr(u64 id, struct perf_header *header); 51perf_header__find_attr(u64 id, struct perf_header *header);
52void perf_header__feat_trace_info(struct perf_header *header);
53void perf_header__set_feat(struct perf_header *self, int feat); 52void perf_header__set_feat(struct perf_header *self, int feat);
54bool perf_header__has_feat(const struct perf_header *self, int feat); 53bool perf_header__has_feat(const struct perf_header *self, int feat);
55 54