Re: (ltc-kernel 9923) [PATCH 0/8] perf: Replace strerror with strerror_r for thread-safety

From: Masami Hiramatsu
Date: Wed Aug 13 2014 - 22:23:51 EST


Oops, this is not a complete series... I'll resend same series.


(2014/08/14 11:20), Masami Hiramatsu wrote:
> Hi,
>
> Here is a series to get rid of thread-unsafe strerror() from
> perf tools. Of course, there maybe other thread-unsafe functions,
> so this goes just one step forward. :)
>
> This introduces STRERR_BUFSIZE(=128) macro for allocating local
> buffer, but some strerror_r()s don't use that. If there are
> already a local buffer on the stack, and if it is bigger than
> STRERR_BUFSIZE, I chose it for strerror_r()'s buffer.
>
> By the way, while doing this cleanup, I've found some confusions
> on the code. Currently perf has 3 ways to output messages except
> for standard (f)printf, pr_XXX, ui__XXX and warning/error functions.
> Is there any differences among those APIs? What is the expected
> use cases for them?
> For example, a pure printf is in kvm_live_open_events@xxxxxxxxxxxxx
> but it seems to be ui__error, because the error output next to it
> uses that. However, other parts use pr_XXX too. It seems inconsistent.
>
> Thank you,
>
> ---
>
> Masami Hiramatsu (8):
> perf probe: Don't use strerror if strlist__add failed
> perf: Use strerror_r instead of strerror
> perf probe: Make error messages thread-safe
> perf/util: Replace strerror with strerror_r for thread-safety
> perf top: Use strerror_r instead of strerror
> perf trace: Use strerror_r instead of strerror
> perf record: Use strerror_r instead of strerror
> perf test: Use strerror_r instead of strerror
>
>
> tools/perf/builtin-probe.c | 5 +++-
> tools/perf/builtin-record.c | 7 +++---
> tools/perf/builtin-top.c | 2 +-
> tools/perf/builtin-trace.c | 6 +++--
> tools/perf/perf.c | 10 ++++++---
> tools/perf/tests/builtin-test.c | 4 +++
> tools/perf/tests/mmap-basic.c | 7 +++---
> tools/perf/tests/open-syscall-all-cpus.c | 5 +++-
> tools/perf/tests/open-syscall-tp-fields.c | 7 ++++--
> tools/perf/tests/open-syscall.c | 3 ++-
> tools/perf/tests/perf-record.c | 13 ++++++++---
> tools/perf/tests/rdpmc.c | 6 +++--
> tools/perf/tests/sw-clock.c | 6 +++--
> tools/perf/tests/task-exit.c | 6 +++--
> tools/perf/util/cloexec.c | 6 +++--
> tools/perf/util/data.c | 8 +++++--
> tools/perf/util/debug.h | 3 +++
> tools/perf/util/dso.c | 8 +++++--
> tools/perf/util/evlist.c | 2 +-
> tools/perf/util/evsel.c | 7 ++++--
> tools/perf/util/parse-events.c | 5 +++-
> tools/perf/util/probe-event.c | 34 ++++++++++++++++-------------
> tools/perf/util/probe-finder.c | 7 ++++--
> tools/perf/util/run-command.c | 9 ++++++--
> tools/perf/util/util.c | 5 +++-
> 25 files changed, 121 insertions(+), 60 deletions(-)
>
> --
> Masami HIRAMATSU
> Software Platform Research Dept. Linux Technology Research Center
> Hitachi, Ltd., Yokohama Research Laboratory
> E-mail: masami.hiramatsu.pt@xxxxxxxxxxx
>
>


--
Masami HIRAMATSU
IT Management Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@xxxxxxxxxxx


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/