Em Sat, Jun 27, 2020 at 09:36:44PM +0800, Changbin Du escreveu: > We will reuse this function later. > > Signed-off-by: Changbin Du <changbin...@gmail.com> > --- > tools/perf/builtin-ftrace.c | 17 ++++++++++++----- > 1 file changed, 12 insertions(+), 5 deletions(-) > > diff --git a/tools/perf/builtin-ftrace.c b/tools/perf/builtin-ftrace.c > index dceae70c3a22..003efa756322 100644 > --- a/tools/perf/builtin-ftrace.c > +++ b/tools/perf/builtin-ftrace.c > @@ -166,6 +166,17 @@ static int read_tracing_file_to_stdout(const char *name) > return ret; > } > > +static int write_tracing_file_int(const char *name, int value) > +{ > + char buf[16]; > + > + snprintf(buf, sizeof(buf), "%d", value); > + if (write_tracing_file(name, buf) < 0) > + return -1; > + > + return 0; > +} > + > static int reset_tracing_cpu(void); > static void reset_tracing_filters(void); > > @@ -296,8 +307,6 @@ static void reset_tracing_filters(void) > > static int set_tracing_depth(struct perf_ftrace *ftrace) > { > - char buf[16]; > - > if (ftrace->graph_depth == 0) > return 0; > > @@ -306,9 +315,7 @@ static int set_tracing_depth(struct perf_ftrace *ftrace) > return -1; > } > > - snprintf(buf, sizeof(buf), "%d", ftrace->graph_depth); > - > - if (write_tracing_file("max_graph_depth", buf) < 0) > + if (write_tracing_file_int("max_graph_depth", ftrace->graph_depth) < 0) > return -1;
We've been consolidating these sysfs, tracefs, debugfs, hugetlbfs, etc in tools/lib/fs/, where we have things like: [acme@quaco perf]$ grep "int sysfs__" tools/lib/api/fs/fs.c static int sysfs__read_ull_base(const char *entry, int sysfs__read_xll(const char *entry, unsigned long long *value) int sysfs__read_ull(const char *entry, unsigned long long *value) int sysfs__read_int(const char *entry, int *value) int sysfs__read_str(const char *entry, char **buf, size_t *sizep) int sysfs__read_bool(const char *entry, bool *value) int sysfs__write_int(const char *entry, int value) [acme@quaco perf]$ grep "int debugfs__" tools/lib/api/fs/fs.c [acme@quaco perf]$ grep "int sysctl__" tools/lib/api/fs/fs.c int sysctl__read_int(const char *sysctl, int *value) [acme@quaco perf]$ Please take a look at tools/lib/api/fs/fs.h it already has the functions to find the mount points, etc, so adding those there since you're touchign this area now seems best. - Arnaldo