From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, Jiri Olsa <jolsa@kernel.org>,
David Ahern <dsahern@gmail.com>,
Namhyung Kim <namhyung@kernel.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Steven Rostedt <rostedt@goodmis.org>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 09/31] tools lib api fs: Move tracing_path interface into api/fs/tracing_path.c
Date: Fri, 4 Sep 2015 13:44:53 -0300 [thread overview]
Message-ID: <1441385115-6744-10-git-send-email-acme@kernel.org> (raw)
In-Reply-To: <1441385115-6744-1-git-send-email-acme@kernel.org>
From: Jiri Olsa <jolsa@kernel.org>
Moving tracing_path interface into api/fs/tracing_path.c out of util.c.
It seems generic enough to be used by others, and I couldn't think of
better place.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Reviewed-by: Matt Fleming <matt.fleming@intel.com>
Reviewed-by: Raphael Beamonte <raphael.beamonte@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/1441180605-24737-5-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/lib/api/fs/Build | 1 +
tools/lib/api/fs/tracing_path.c | 83 ++++++++++++++++++++++++++++++++++++++
tools/lib/api/fs/tracing_path.h | 13 ++++++
tools/perf/perf.c | 2 +-
tools/perf/util/parse-events.c | 2 +-
tools/perf/util/trace-event-info.c | 2 +-
tools/perf/util/trace-event.c | 1 +
tools/perf/util/util.c | 70 --------------------------------
tools/perf/util/util.h | 6 ---
9 files changed, 101 insertions(+), 79 deletions(-)
create mode 100644 tools/lib/api/fs/tracing_path.c
create mode 100644 tools/lib/api/fs/tracing_path.h
diff --git a/tools/lib/api/fs/Build b/tools/lib/api/fs/Build
index 6de5a4f0b501..fa726f679b29 100644
--- a/tools/lib/api/fs/Build
+++ b/tools/lib/api/fs/Build
@@ -1,4 +1,5 @@
libapi-y += fs.o
+libapi-y += tracing_path.o
libapi-y += debugfs.o
libapi-y += findfs.o
libapi-y += tracefs.o
diff --git a/tools/lib/api/fs/tracing_path.c b/tools/lib/api/fs/tracing_path.c
new file mode 100644
index 000000000000..1fd6e1f99234
--- /dev/null
+++ b/tools/lib/api/fs/tracing_path.c
@@ -0,0 +1,83 @@
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "debugfs.h"
+#include "tracefs.h"
+
+#include "tracing_path.h"
+
+
+char tracing_path[PATH_MAX + 1] = "/sys/kernel/debug/tracing";
+char tracing_events_path[PATH_MAX + 1] = "/sys/kernel/debug/tracing/events";
+
+
+static void __tracing_path_set(const char *tracing, const char *mountpoint)
+{
+ snprintf(tracing_path, sizeof(tracing_path), "%s/%s",
+ mountpoint, tracing);
+ snprintf(tracing_events_path, sizeof(tracing_events_path), "%s/%s%s",
+ mountpoint, tracing, "events");
+}
+
+static const char *tracing_path_tracefs_mount(void)
+{
+ const char *mnt;
+
+ mnt = tracefs_mount(NULL);
+ if (!mnt)
+ return NULL;
+
+ __tracing_path_set("", mnt);
+
+ return mnt;
+}
+
+static const char *tracing_path_debugfs_mount(void)
+{
+ const char *mnt;
+
+ mnt = debugfs_mount(NULL);
+ if (!mnt)
+ return NULL;
+
+ __tracing_path_set("tracing/", mnt);
+
+ return mnt;
+}
+
+const char *tracing_path_mount(void)
+{
+ const char *mnt;
+
+ mnt = tracing_path_tracefs_mount();
+ if (mnt)
+ return mnt;
+
+ mnt = tracing_path_debugfs_mount();
+
+ return mnt;
+}
+
+void tracing_path_set(const char *mntpt)
+{
+ __tracing_path_set("tracing/", mntpt);
+}
+
+char *get_tracing_file(const char *name)
+{
+ char *file;
+
+ if (asprintf(&file, "%s/%s", tracing_path, name) < 0)
+ return NULL;
+
+ return file;
+}
+
+void put_tracing_file(char *file)
+{
+ free(file);
+}
diff --git a/tools/lib/api/fs/tracing_path.h b/tools/lib/api/fs/tracing_path.h
new file mode 100644
index 000000000000..b132dc599fe5
--- /dev/null
+++ b/tools/lib/api/fs/tracing_path.h
@@ -0,0 +1,13 @@
+#ifndef __API_FS_TRACING_PATH_H
+#define __API_FS_TRACING_PATH_H
+
+extern char tracing_path[];
+extern char tracing_events_path[];
+
+void tracing_path_set(const char *mountpoint);
+const char *tracing_path_mount(void);
+
+char *get_tracing_file(const char *name);
+void put_tracing_file(char *file);
+
+#endif /* __API_FS_TRACING_PATH_H */
diff --git a/tools/perf/perf.c b/tools/perf/perf.c
index 0e99cd1de9dd..f2fc019b3671 100644
--- a/tools/perf/perf.c
+++ b/tools/perf/perf.c
@@ -15,7 +15,7 @@
#include "util/parse-events.h"
#include "util/parse-options.h"
#include "util/debug.h"
-#include <api/fs/debugfs.h>
+#include <api/fs/tracing_path.h>
#include <pthread.h>
const char perf_usage_string[] =
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
index d826e6f515db..3840176642f8 100644
--- a/tools/perf/util/parse-events.c
+++ b/tools/perf/util/parse-events.c
@@ -11,7 +11,7 @@
#include "cache.h"
#include "header.h"
#include "debug.h"
-#include <api/fs/debugfs.h>
+#include <api/fs/tracing_path.h>
#include "parse-events-bison.h"
#define YY_EXTRA_TYPE int
#include "parse-events-flex.h"
diff --git a/tools/perf/util/trace-event-info.c b/tools/perf/util/trace-event-info.c
index 22245986e59e..d995743cb673 100644
--- a/tools/perf/util/trace-event-info.c
+++ b/tools/perf/util/trace-event-info.c
@@ -38,7 +38,7 @@
#include "../perf.h"
#include "trace-event.h"
-#include <api/fs/debugfs.h>
+#include <api/fs/tracing_path.h>
#include "evsel.h"
#include "debug.h"
diff --git a/tools/perf/util/trace-event.c b/tools/perf/util/trace-event.c
index b90e646c7a91..2f4996ab313d 100644
--- a/tools/perf/util/trace-event.c
+++ b/tools/perf/util/trace-event.c
@@ -8,6 +8,7 @@
#include <fcntl.h>
#include <linux/kernel.h>
#include <traceevent/event-parse.h>
+#include <api/fs/tracing_path.h>
#include "trace-event.h"
#include "machine.h"
#include "util.h"
diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
index b959f783f6cd..49a5c6ad55f5 100644
--- a/tools/perf/util/util.c
+++ b/tools/perf/util/util.c
@@ -34,9 +34,6 @@ bool test_attr__enabled;
bool perf_host = true;
bool perf_guest = false;
-char tracing_path[PATH_MAX + 1] = "/sys/kernel/debug/tracing";
-char tracing_events_path[PATH_MAX + 1] = "/sys/kernel/debug/tracing/events";
-
void event_attr_init(struct perf_event_attr *attr)
{
if (!perf_host)
@@ -390,73 +387,6 @@ void set_term_quiet_input(struct termios *old)
tcsetattr(0, TCSANOW, &tc);
}
-static void __tracing_path_set(const char *tracing, const char *mountpoint)
-{
- snprintf(tracing_path, sizeof(tracing_path), "%s/%s",
- mountpoint, tracing);
- snprintf(tracing_events_path, sizeof(tracing_events_path), "%s/%s%s",
- mountpoint, tracing, "events");
-}
-
-static const char *tracing_path_tracefs_mount(void)
-{
- const char *mnt;
-
- mnt = tracefs_mount(NULL);
- if (!mnt)
- return NULL;
-
- __tracing_path_set("", mnt);
-
- return mnt;
-}
-
-static const char *tracing_path_debugfs_mount(void)
-{
- const char *mnt;
-
- mnt = debugfs_mount(NULL);
- if (!mnt)
- return NULL;
-
- __tracing_path_set("tracing/", mnt);
-
- return mnt;
-}
-
-const char *tracing_path_mount(void)
-{
- const char *mnt;
-
- mnt = tracing_path_tracefs_mount();
- if (mnt)
- return mnt;
-
- mnt = tracing_path_debugfs_mount();
-
- return mnt;
-}
-
-void tracing_path_set(const char *mntpt)
-{
- __tracing_path_set("tracing/", mntpt);
-}
-
-char *get_tracing_file(const char *name)
-{
- char *file;
-
- if (asprintf(&file, "%s/%s", tracing_path, name) < 0)
- return NULL;
-
- return file;
-}
-
-void put_tracing_file(char *file)
-{
- free(file);
-}
-
int parse_nsec_time(const char *str, u64 *ptime)
{
u64 time_sec, time_nsec;
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
index bbf8a937d780..495b99ccb588 100644
--- a/tools/perf/util/util.h
+++ b/tools/perf/util/util.h
@@ -83,12 +83,6 @@
extern const char *graph_line;
extern const char *graph_dotted_line;
extern char buildid_dir[];
-extern char tracing_path[];
-extern char tracing_events_path[];
-extern void tracing_path_set(const char *mountpoint);
-const char *tracing_path_mount(void);
-char *get_tracing_file(const char *name);
-void put_tracing_file(char *file);
/* On most systems <limits.h> would have given us this, but
* not on some systems (e.g. GNU/Hurd).
--
2.1.0
next prev parent reply other threads:[~2015-09-04 16:52 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-04 16:44 [GIT PULL 00/31] perf/core improvements and fixes Arnaldo Carvalho de Melo
2015-09-04 16:44 ` [PATCH 01/31] perf tools: Always use non inlined file name for 'srcfile' sort key Arnaldo Carvalho de Melo
2015-09-04 16:44 ` [PATCH 02/31] perf tools: Copy linux/filter.h to tools/include Arnaldo Carvalho de Melo
2015-09-04 16:44 ` [PATCH 03/31] tools lib traceevent: Support function __get_dynamic_array_len Arnaldo Carvalho de Melo
2015-09-04 16:44 ` [PATCH 04/31] perf cpumap: Factor out functions to get core_id and socket_id Arnaldo Carvalho de Melo
2015-09-04 16:44 ` [PATCH 05/31] perf tools: Store the cpu socket and core ids in the perf.data header Arnaldo Carvalho de Melo
2015-09-04 16:44 ` [PATCH 06/31] perf stat: Quieten failed to read counter message Arnaldo Carvalho de Melo
2015-09-04 16:44 ` [PATCH 07/31] perf tools: Remove mountpoint arg from perf_debugfs_mount Arnaldo Carvalho de Melo
2015-09-04 16:44 ` [PATCH 08/31] perf tools: Move tracing_path stuff under same namespace Arnaldo Carvalho de Melo
2015-09-04 16:44 ` Arnaldo Carvalho de Melo [this message]
2015-09-04 16:44 ` [PATCH 10/31] tools lib api fs: Move debugfs__strerror_open into tracing_path.c object Arnaldo Carvalho de Melo
2015-09-04 16:57 ` Raphaël Beamonte
2015-09-04 20:38 ` Arnaldo Carvalho de Melo
2015-09-04 16:44 ` [PATCH 11/31] tools lib api fs: Add STR and PATH_MAX macros to fs object Arnaldo Carvalho de Melo
2015-09-04 16:44 ` [PATCH 12/31] tools lib api fs: Move SYSFS_MAGIC PROC_SUPER_MAGIC into fs.c Arnaldo Carvalho de Melo
2015-09-04 16:44 ` [PATCH 13/31] tools lib api fs: Add debugfs into fs.c object Arnaldo Carvalho de Melo
2015-09-04 16:44 ` [PATCH 14/31] tools lib api fs: Add tracefs " Arnaldo Carvalho de Melo
2015-09-04 16:44 ` [PATCH 15/31] tools lib api fs: Add FSTYPE__mount() method Arnaldo Carvalho de Melo
2015-09-04 17:02 ` Raphaël Beamonte
2015-09-04 16:45 ` [PATCH 16/31] tools lib api fs: Add FSTYPE__configured() method Arnaldo Carvalho de Melo
2015-09-04 16:45 ` [PATCH 17/31] perf tools: Display build warning if x86 instruction decoder differs from kernel Arnaldo Carvalho de Melo
2015-09-04 16:45 ` [PATCH 18/31] perf tools: Add a test for decoding of new x86 instructions Arnaldo Carvalho de Melo
2015-09-04 16:45 ` [PATCH 19/31] x86/insn: perf tools: Pedantically tweak opcode map for MPX instructions Arnaldo Carvalho de Melo
2015-09-04 16:45 ` [PATCH 20/31] x86/insn: perf tools: Add new SHA instructions Arnaldo Carvalho de Melo
2015-09-04 16:45 ` [PATCH 21/31] x86/insn: perf tools: Add new memory instructions Arnaldo Carvalho de Melo
2015-09-04 16:45 ` [PATCH 22/31] x86/insn: perf tools: Add new memory protection keys instructions Arnaldo Carvalho de Melo
2015-09-04 16:45 ` [PATCH 23/31] x86/insn: perf tools: Add new xsave instructions Arnaldo Carvalho de Melo
2015-09-04 16:45 ` [PATCH 24/31] perf session: Don't call dump_sample() when evsel is NULL Arnaldo Carvalho de Melo
2015-09-04 16:45 ` [PATCH 25/31] perf intel-pt: Add support for PERF_RECORD_SWITCH Arnaldo Carvalho de Melo
2015-09-04 16:45 ` [PATCH 26/31] perf probe: Split add_perf_probe_events() Arnaldo Carvalho de Melo
2015-09-04 16:45 ` [PATCH 27/31] perf probe: Link trace_probe_event into perf_probe_event Arnaldo Carvalho de Melo
2015-09-04 16:45 ` [PATCH 28/31] perf probe: Move print logic into cmd_probe() Arnaldo Carvalho de Melo
2015-09-04 16:45 ` [PATCH 29/31] perf probe: Split del_perf_probe_events() Arnaldo Carvalho de Melo
2015-09-04 16:45 ` [PATCH 30/31] perf probe: Print deleted events in cmd_probe() Arnaldo Carvalho de Melo
2015-09-04 16:45 ` [PATCH 31/31] perf trace: Add read/write to the file group Arnaldo Carvalho de Melo
2015-09-08 14:24 ` [GIT PULL 00/31] perf/core improvements and fixes Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1441385115-6744-10-git-send-email-acme@kernel.org \
--to=acme@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=dsahern@gmail.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome