perf tools: Update strbuf to remove xrealloc
Get series with b4
b4 am 20160510054649.6158.75771.stgit@devboxVersions newest first · linked by author and title
- v3 Latest8 patches 1 replyIn review
- v28 patches 13 repliesSuperseded
- v1 RFC8 patches 2 repliesSuperseded
Patches in v3 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/8 | perf: Rewrite strbuf not to dietools/ tools/ | +82 | 0 replies | |
| 2/8 | perf probe: Check the return value of strbuf APIstools/ tools/ tools/ | +128 | 0 replies | |
| 3/8 | perf help: Make check_emacsclient_version to check strbuf APIstools/ | +10 | 1 reply | |
| 4/8 | perf: Make alias handler to check return value of strbuftools/ tools/ tools/ | +26 | 0 replies | |
| 5/8 | perf header: Make topology checkers to check return value of strbuftools/ | +20 | 0 replies | |
| 6/8 | perf pmu: Make pmu_formats_string to check return value of strbuftools/ | +5 | 0 replies | |
| 7/8 | perf help: Do not use ALLOC_GROW in add_cmd_listtools/ | +22 | 0 replies | |
| 8/8 | perf tools: Remove xrealloc and ALLOC_GROWtools/ tools/ tools/ +1 more | +0 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.
Cover letter [PATCH perf/core v3 0/8] perf tools: Update strbuf to remove xrealloc
Hi Arnaldo,
Here is the 3rd version of the strbuf update. I've fixed it according to your suggestion :)
- [1/8] Use realloc instead of malloc/memcpy/free (Thanks Arnaldo!)
- [2/8] Cleanup code path according to Arnaldo's review.
- [5/8] Avoid using STRBUF_INIT and return error directly before initalizing strbuf.
This patch series does refactoring strbuf and xrealloc related code to remove xrealloc since it can call die() to exit immediately when it hits any error. Instead of that, it should return error code to the caller so that the caller can handle its error.
Thus, at first, this changes the strbuf APIs to return error code instead of die() immediately. And then changing API callers according to the following rules.
- Check the return value of strbuf APIs and handle errors and,
- If the caller returns an error code (errno), it returns the return value of strbuf APIs.
- If the caller just return -1 or NULl in error case, it also returns -1 or NULL in case of strbuf error.
- If the caller can call die() directly, it also call die() in case of strbuf error.
- Error checking patches are splitted for each subcommand, since it will help review.
This also removes xrealloc and ALLOC_GROW from libperf, so that no one use it anymore.
Thank you,
---
Masami Hiramatsu (8):
perf: Rewrite strbuf not to die
perf probe: Check the return value of strbuf APIs
perf help: Make check_emacsclient_version to check strbuf APIs
perf: Make alias handler to check return value of strbuf perf header: Make topology checkers to check return value of strbuf perf pmu: Make pmu_formats_string to check return value of strbuf perf help: Do not use ALLOC_GROW in add_cmd_list
perf tools: Remove xrealloc and ALLOC_GROW
tools/perf/builtin-help.c | 18 +++-- tools/perf/perf.c | 8 +- tools/perf/util/Build | 1 tools/perf/util/cache.h | 19 ----- tools/perf/util/dwarf-aux.c | 52 ++++++------- tools/perf/util/header.c | 31 +++++--- tools/perf/util/help-unknown-cmd.c | 30 ++++++-- tools/perf/util/pmu.c | 10 +-- tools/perf/util/probe-event.c | 143 ++++++++++++++++++++++-------------- tools/perf/util/probe-finder.c | 30 +++++--- tools/perf/util/quote.c | 36 +++++---- tools/perf/util/quote.h | 2 - tools/perf/util/strbuf.c | 93 +++++++++++++++++------ tools/perf/util/strbuf.h | 25 ++++-- tools/perf/util/util.h | 6 -- tools/perf/util/wrapper.c | 29 ------- 16 files changed, 293 insertions(+), 240 deletions(-) delete mode 100644 tools/perf/util/wrapper.c
--
Masami Hiramatsu