lkml.org 
[lkml]   [2018]   [Aug]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 05/23] selftest: vm: add unlikely() to BUG_ON()
From
Date
Hi Igor,

On Fri, 2018-08-31 at 01:34 +0300, Igor Stoppa wrote:
> BUG_ON() is unlikely() to BUG()

This selftest runs in userspace..
So, we should define the macro somehow, as i.e:
rseq/rseq.h:#define rseq_unlikely(x) __builtin_expect(!!(x), 0)

Otherwise,
[selftests]$ make vm/map_populate
cc vm/map_populate.c -o vm/map_populate
vm/map_populate.c: In function ‘parent_f’:
vm/map_populate.c:26:7: warning: implicit declaration of function
‘unlikely’; did you mean ‘unlinkat’? [-Wimplicit-function-declaration]
if (unlikely(condition)) { \
^
vm/map_populate.c:38:2: note: in expansion of macro ‘BUG_ON’
BUG_ON(ret <= 0, "read(sock)");
^~~~~~
/tmp/cc7evGVG.o: In function `parent_f':
map_populate.c:(.text+0x3d): undefined reference to `unlikely'
map_populate.c:(.text+0xbb): undefined reference to `unlikely'
map_populate.c:(.text+0x135): undefined reference to `unlikely'
map_populate.c:(.text+0x1b0): undefined reference to `unlikely'

Not sure if we care for this at all for userspace test.
I don't mind as it runs each time by kbuild robot and cumulatively may
save something. But it's better be at least compile-tested.

--
Dima

\
 
 \ /
  Last update: 2018-08-31 00:59    [W:0.046 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site