lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 3 Sep 2012 08:21:08 +0300 From: Pekka Enberg <penberg@...nel.org> To: Namhyung Kim <namhyung@...nel.org> Cc: Irina Tirdea <irina.tirdea@...il.com>, Steven Rostedt <rostedt@...dmis.org>, Arnaldo Carvalho de Melo <acme@...stprotocols.net>, Ingo Molnar <mingo@...nel.org>, LKML <linux-kernel@...r.kernel.org>, Peter Zijlstra <a.p.zijlstra@...llo.nl>, Frederic Weisbecker <fweisbec@...il.com> Subject: Re: [PATCH] perf bench: fix assert when NDEBUG is defined On Mon, Sep 3, 2012 at 4:45 AM, Namhyung Kim <namhyung@...nel.org> wrote: > On Mon, 3 Sep 2012 03:04:32 +0300, Irina Tirdea wrote: >> From: Irina Tirdea <irina.tirdea@...el.com> >> >> When NDEBUG is defined, the assert macro will be expanded to nothing. >> Some assert calls used in perf are also including some functionality >> (e.g. system calls), not only validity checks. Therefore, if NDEBUG is >> defined, these functionality will be removed along with the assert. >> >> The functionality of the program needs to be separated from the assert checks. >> In perf, BUG_ON is also defined on assert, so we need to fix these statements >> too. >> >> Signed-off-by: Irina Tirdea <irina.tirdea@...el.com> >> --- >> tools/perf/bench/mem-memcpy.c | 8 +++++--- >> tools/perf/bench/mem-memset.c | 8 +++++--- >> tools/perf/bench/sched-pipe.c | 6 ++++-- >> 3 files changed, 14 insertions(+), 8 deletions(-) >> >> diff --git a/tools/perf/bench/mem-memcpy.c b/tools/perf/bench/mem-memcpy.c >> index 02dad5d..bccb783 100644 >> --- a/tools/perf/bench/mem-memcpy.c >> +++ b/tools/perf/bench/mem-memcpy.c >> @@ -144,17 +144,19 @@ static double do_memcpy_gettimeofday(memcpy_t >> fn, size_t len, bool prefault) >> { >> struct timeval tv_start, tv_end, tv_diff; >> void *src = NULL, *dst = NULL; >> - int i; >> + int i, ret; >> >> alloc_mem(&src, &dst, len); >> >> if (prefault) >> fn(dst, src, len); >> >> - BUG_ON(gettimeofday(&tv_start, NULL)); >> + ret = gettimeofday(&tv_start, NULL); >> + BUG_ON(ret); > > I think one of good thing of assert is that it outputs the exact failure > condition when it fails. So with patch, it will convert > > Assertion `gettimeofday(&tv_start, NULL)' failed. > > into > > Assertion `ret' failed. > > which is not so informative. > > So I'd rather suggest using more descriptive names like ret_gtod ? No, please don't do that. That'll make the code ugly and it's really just papering over the fact that the assertions should be converted to proper error handling. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists