[lttng-dev] Debian specific userspace RCU configure override

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Sat May 24 09:05:02 EDT 2014


In order to understand what is happening here, can we have a copy 
of config.log of both userspace RCU and ltt-control, as well as the output 
of invocation of configure, and output of make V=1 ? 

Thanks, 

Mathieu 

----- Original Message -----

> From: "Ondřej Surý" <ondrej at sury.org>
> To: "Jon Bernard" <jbernard at debian.org>
> Cc: "Mathieu Desnoyers" <mathieu.desnoyers at efficios.com>, "Ondřej Surý"
> <ondrej at debian.org>, "Michael Jeanson" <mjeanson at efficios.com>, "lttng-dev"
> <lttng-dev at lists.lttng.org>
> Sent: Friday, May 23, 2014 7:10:50 PM
> Subject: Re: Debian specific userspace RCU configure override

> JFTR I did build the urcu and ltt-control on same machine and urcu build went
> ok, but ltt-control failed. So there might be something broken.

> Although yes, more generally there could be a problem with difference between
> build machines, so --disable flag might be helpful.

> O.
> --
> Ondřej Surý < ondrej at sury.org >
> Knot DNS ( https://www.knot-dns.cz/ ) – a high-performance DNS server

> On 24. 5. 2014, at 0:21, Jon Bernard < jbernard at debian.org > wrote:

> > * Mathieu Desnoyers < mathieu.desnoyers at efficios.com > wrote:
> 

> > > Hi,
> > 
> 

> > > I recently stumbled on this patch:
> > 
> 

> > > http://sprunge.us/jYcJ
> > 
> 

> > > It overrides the generated config.h to ensure the
> > 
> 

> > > "dmb" instruction is not used.
> > 
> 

> > > However, the proper checks seems to be in place within
> > 
> 

> > > configure.ac to automatically detect whether to use dmb
> > 
> 

> > > or not:
> > 
> 

> > > # ARM-specific checks
> > 
> 

> > > AS_IF([test "x$ARCHTYPE" = "xarm"],[
> > 
> 

> > > AC_MSG_CHECKING([for dmb instruction])
> > 
> 

> > > AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
> > 
> 

> > > int main()
> > 
> 

> > > {
> > 
> 

> > > asm volatile("dmb":::"memory");
> > 
> 

> > > return 0;
> > 
> 

> > > }
> > 
> 

> > > ]])
> > 
> 

> > > ],[
> > 
> 

> > > AC_MSG_RESULT([yes])
> > 
> 

> > > AC_DEFINE([CONFIG_RCU_ARM_HAVE_DMB], [1])
> > 
> 

> > > ],[
> > 
> 

> > > AC_MSG_RESULT([no])
> > 
> 

> > > ])
> > 
> 

> > > ])
> > 
> 

> > > My thinking here is that perhaps inappropriate compiler flags
> > 
> 

> > > are used when the compiler is invoked from within "configure",
> > 
> 

> > > which leads it to think that it targets an ARMv7+ with dmb.
> > 
> 

> > > The Debian "armel" architecture AFAIU needs to target older
> > 
> 

> > > ARM architectures.
> > 
> 

> > I also wonder if there are some differences between of the arm build
> 
> > machines. I don't have shell access to the machine on which urcu was
> 
> > built so I cannot check, but perhaps that particular machine has dmb.
> 

> > > It would be much better to fix the compiler flags passed to
> > 
> 

> > > configure and let urcu autodetection do what it is intended
> > 
> 

> > > to do rather than override the generated file.
> > 
> 

> > I'll gather and post the compiler flags used for urcu and we'll see.
> 

> > --
> 
> > Jon
> 

-- 
Mathieu Desnoyers 
EfficiOS Inc. 
http://www.efficios.com 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lttng.org/pipermail/lttng-dev/attachments/20140524/ecd2bff2/attachment-0001.html>


More information about the lttng-dev mailing list