diff options
author | Namhyung Kim <namhyung.kim@lge.com> | 2012-09-24 17:15:03 +0900 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2012-09-24 11:47:46 -0300 |
commit | 37e9d750e672d6fa8c25463bd76240410bbbc786 (patch) | |
tree | decdd3c3c92e7a6b9e27e9213c5871b1da457183 /tools/perf/util/header.c | |
parent | 2f9e97aa8b4c6220c0770a966fb99d7366679813 (diff) | |
download | talos-obmc-linux-37e9d750e672d6fa8c25463bd76240410bbbc786.tar.gz talos-obmc-linux-37e9d750e672d6fa8c25463bd76240410bbbc786.zip |
perf header: Remove perf_header__read_feature
Because its only user builtin-kvm::get_cpu_isa() has gone, It can be
removed safely. In general, we have the feature information in
perf_session_env already, no need to read it again.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Dong Hao <haodong@linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Cc: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/1348474503-15070-7-git-send-email-namhyung@kernel.org
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.c | 60 |
1 files changed, 1 insertions, 59 deletions
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index 4b028df83a40..6aae3290358e 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c @@ -1690,11 +1690,6 @@ static int process_total_mem(struct perf_file_section *section __maybe_unused, return 0; } -static char *read_cpuid(struct perf_header *ph, int fd) -{ - return do_read_string(fd, ph); -} - static struct perf_evsel * perf_evlist__find_by_index(struct perf_evlist *evlist, int idx) { @@ -1952,7 +1947,6 @@ error: struct feature_ops { int (*write)(int fd, struct perf_header *h, struct perf_evlist *evlist); void (*print)(struct perf_header *h, int fd, FILE *fp); - char *(*read)(struct perf_header *h, int fd); int (*process)(struct perf_file_section *section, struct perf_header *h, int fd, void *data); const char *name; @@ -1967,10 +1961,6 @@ struct feature_ops { #define FEAT_OPF(n, func) \ [n] = { .name = #n, .write = write_##func, .print = print_##func, \ .process = process_##func, .full_only = true } -#define FEAT_OPA_R(n, func) \ - [n] = { .name = #n, .write = write_##func, .print = print_##func, \ - .read = read_##func, .process = process_##func, \ - .full_only = true } /* feature_ops not implemented: */ #define print_tracing_data NULL @@ -1985,7 +1975,7 @@ static const struct feature_ops feat_ops[HEADER_LAST_FEATURE] = { FEAT_OPP(HEADER_ARCH, arch), FEAT_OPP(HEADER_NRCPUS, nrcpus), FEAT_OPP(HEADER_CPUDESC, cpudesc), - FEAT_OPA_R(HEADER_CPUID, cpuid), + FEAT_OPP(HEADER_CPUID, cpuid), FEAT_OPP(HEADER_TOTAL_MEM, total_mem), FEAT_OPP(HEADER_EVENT_DESC, event_desc), FEAT_OPP(HEADER_CMDLINE, cmdline), @@ -2040,54 +2030,6 @@ int perf_header__fprintf_info(struct perf_session *session, FILE *fp, bool full) return 0; } -struct header_read_data { - int feat; - char *result; -}; - -static int perf_file_section__read_feature(struct perf_file_section *section, - struct perf_header *ph, - int feat, int fd, void *data) -{ - struct header_read_data *hd = data; - - if (feat != hd->feat) - return 0; - - if (lseek(fd, section->offset, SEEK_SET) == (off_t)-1) { - pr_debug("Failed to lseek to %" PRIu64 " offset for feature " - "%d, continuing...\n", section->offset, feat); - return 0; - } - - if (feat >= HEADER_LAST_FEATURE) { - pr_warning("unknown feature %d\n", feat); - return 0; - } - - if (!feat_ops[feat].read) { - pr_warning("read is not supported for feature %d\n", feat); - return 0; - } - - hd->result = feat_ops[feat].read(ph, fd); - return 0; -} - -char *perf_header__read_feature(struct perf_session *session, int feat) -{ - struct perf_header *header = &session->header; - struct header_read_data hd; - int fd = session->fd; - - hd.feat = feat; - hd.result = NULL; - - perf_header__process_sections(header, fd, &hd, - perf_file_section__read_feature); - return hd.result; -} - static int do_write_feat(int fd, struct perf_header *h, int type, struct perf_file_section **p, struct perf_evlist *evlist) |