2018-09-07 02:58:09

by Ding Xiang

[permalink] [raw]
Subject: [PATCH 1/2] tools: include: Add PTR_ERR_OR_ZERO to err.h

Add PTR_ERR_OR_ZERO, and tools can use it.

Signed-off-by: Ding Xiang <[email protected]>
---
tools/include/linux/err.h | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/tools/include/linux/err.h b/tools/include/linux/err.h
index 7a8b61a..0946496 100644
--- a/tools/include/linux/err.h
+++ b/tools/include/linux/err.h
@@ -52,4 +52,11 @@ static inline bool __must_check IS_ERR_OR_NULL(__force const void *ptr)
return unlikely(!ptr) || IS_ERR_VALUE((unsigned long)ptr);
}

+static inline int __must_check PTR_ERR_OR_ZERO(__force const void *ptr)
+{
+ if (IS_ERR(ptr))
+ return PTR_ERR(ptr);
+ else
+ return 0;
+}
#endif /* _LINUX_ERR_H */
--
1.9.1





2018-09-07 02:57:38

by Ding Xiang

[permalink] [raw]
Subject: [PATCH 2/2] perf tools: use PTR_ERR_OR_ZERO inetead of return code

use PTR_ERR_OR_ZERO for bpf__setup_stdout return code,
it looks better.

Signed-off-by: Ding Xiang <[email protected]>
---
tools/perf/util/bpf-loader.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/bpf-loader.c b/tools/perf/util/bpf-loader.c
index 47aac41..f9ae1a9 100644
--- a/tools/perf/util/bpf-loader.c
+++ b/tools/perf/util/bpf-loader.c
@@ -1615,7 +1615,7 @@ struct perf_evsel *bpf__setup_output_event(struct perf_evlist *evlist, const cha
int bpf__setup_stdout(struct perf_evlist *evlist)
{
struct perf_evsel *evsel = bpf__setup_output_event(evlist, "__bpf_stdout__");
- return IS_ERR(evsel) ? PTR_ERR(evsel) : 0;
+ return PTR_ERR_OR_ZERO(evsel);
}

#define ERRNO_OFFSET(e) ((e) - __BPF_LOADER_ERRNO__START)
--
1.9.1




2018-09-10 15:11:00

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH 1/2] tools: include: Add PTR_ERR_OR_ZERO to err.h

Em Fri, Sep 07, 2018 at 09:34:41AM +0800, Ding Xiang escreveu:
> Add PTR_ERR_OR_ZERO, and tools can use it.

Thanks, applied the two patches.

- Arnaldo

Subject: [tip:perf/core] tools include: Adopt PTR_ERR_OR_ZERO from the kernel err.h header

Commit-ID: 01ab2e91103b8c23dfedfeb799bc8b810d585bd0
Gitweb: https://git.kernel.org/tip/01ab2e91103b8c23dfedfeb799bc8b810d585bd0
Author: Ding Xiang <[email protected]>
AuthorDate: Fri, 7 Sep 2018 09:34:41 +0800
Committer: Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Wed, 19 Sep 2018 10:25:08 -0300

tools include: Adopt PTR_ERR_OR_ZERO from the kernel err.h header

Add PTR_ERR_OR_ZERO, so that tools can use it, just like the kernel.

Signed-off-by: Ding Xiang <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/include/linux/err.h | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/tools/include/linux/err.h b/tools/include/linux/err.h
index 7a8b61ad44cb..094649667bae 100644
--- a/tools/include/linux/err.h
+++ b/tools/include/linux/err.h
@@ -52,4 +52,11 @@ static inline bool __must_check IS_ERR_OR_NULL(__force const void *ptr)
return unlikely(!ptr) || IS_ERR_VALUE((unsigned long)ptr);
}

+static inline int __must_check PTR_ERR_OR_ZERO(__force const void *ptr)
+{
+ if (IS_ERR(ptr))
+ return PTR_ERR(ptr);
+ else
+ return 0;
+}
#endif /* _LINUX_ERR_H */

Subject: [tip:perf/core] perf bpf-loader: use PTR_ERR_OR_ZERO inetead of return code

Commit-ID: e381d1c21eea186daed6834af444575e06841355
Gitweb: https://git.kernel.org/tip/e381d1c21eea186daed6834af444575e06841355
Author: Ding Xiang <[email protected]>
AuthorDate: Fri, 7 Sep 2018 09:34:42 +0800
Committer: Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Wed, 19 Sep 2018 10:25:09 -0300

perf bpf-loader: use PTR_ERR_OR_ZERO inetead of return code

Use PTR_ERR_OR_ZERO() in bpf__setup_stdout() return code instead of open
coded equivalent.

Signed-off-by: Ding Xiang <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/util/bpf-loader.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/bpf-loader.c b/tools/perf/util/bpf-loader.c
index 47aac41349a2..f9ae1a993806 100644
--- a/tools/perf/util/bpf-loader.c
+++ b/tools/perf/util/bpf-loader.c
@@ -1615,7 +1615,7 @@ struct perf_evsel *bpf__setup_output_event(struct perf_evlist *evlist, const cha
int bpf__setup_stdout(struct perf_evlist *evlist)
{
struct perf_evsel *evsel = bpf__setup_output_event(evlist, "__bpf_stdout__");
- return IS_ERR(evsel) ? PTR_ERR(evsel) : 0;
+ return PTR_ERR_OR_ZERO(evsel);
}

#define ERRNO_OFFSET(e) ((e) - __BPF_LOADER_ERRNO__START)