On 23 May 2015 at 18:14, Roman Bogorodskiy <bogorodskiy@xxxxxxxxx> wrote: > Daniel P. Berrange wrote: > >> On Fri, May 22, 2015 at 05:59:49PM +0200, Michal Privoznik wrote: >> > On 22.05.2015 16:39, Dimitri John Ledkov wrote: >> > > On 22 May 2015 at 13:53, Michal Privoznik <mprivozn@xxxxxxxxxx> wrote: >> > >> On 22.05.2015 14:18, Daniel P. Berrange wrote: >> > >>> On Fri, May 22, 2015 at 01:13:40PM +0100, Dimitri John Ledkov wrote: >> > >>>> # VIR_TEST_VERBOSE=1 VIR_TEST_DEBUG=1 ./qemuxml2argvtest 2>&1 | grep NUMA >> > >>>> 61) QEMU XML-2-ARGV hugepages-pages >> > >>>> ... libvirt: error : unsupported configuration: NUMA node 1 is >> > >>>> unavailable >> > >>>> 64) QEMU XML-2-ARGV hugepages-shared >> > >>>> ... libvirt: error : unsupported configuration: NUMA node 1 is >> > >>>> unavailable >> > >>>> 331) QEMU XML-2-ARGV numatune-memnode >> > >>>> ... libvirt: error : unsupported configuration: NUMA node 1 is >> > >>>> unavailable >> > >>>> 333) QEMU XML-2-ARGV numatune-memnode-no-memory >> > >>>> ... libvirt: error : unsupported configuration: NUMA node 3 is >> > >>>> unavailable >> > >>>> 336) QEMU XML-2-ARGV numatune-auto-prefer >> > >>>> ... libvirt: error : unsupported configuration: NUMA node 1 is >> > >>>> unavailable >> > >>>> 449) QEMU XML-2-ARGV memory-hotplug-dimm >> > >>>> ... libvirt: error : unsupported configuration: NUMA node 1 is >> > >>>> unavailable >> > >>>> 450) QEMU XML-2-ARGV memory-hotplug-dimm-addr >> > >>>> ... libvirt: error : unsupported configuration: NUMA node 1 is >> > >>>> unavailable >> > >>>> >> > >>>> So the test fails, but I don't believe I'm compiling libvirt with >> > >>>> numad support... So I don't understand what is being asserted here. >> > >>> >> > >>> Can you tell us more about what platform you are building on, and >> > >>> particularly what compiler & linker you are using >> > >> >> > >> And what arguments do you pass to configure. > > <snip> > >> > > >> > >> > So even though you are building with numactl, it seems to me like you >> > don't have numa_bitmask_isbitset(). Can you check config.log to see if >> > HAVE_NUMA_BITMASK_ISBITSET is defined to 1? If my guess is right, this >> > causes us to not mock virNumaNodeIsAvailable() and therefore we run the >> > original function which checks real host the build is ran on. >> >> Or is this not the same as the issue with inline that was seen with >> clang before ? > > Yeah, it looks quite similar to that one. > > By the way, clang doesn't do much inlining with -O0, I guess that could > be similar in gcc, so it should be a quick check to see if that's a > compiler problem. It appears to be caused by optimisation flag, specifically: export CFLAGS='-fno-semantic-interposition' ./configure --with-libvirtd --with-interface --with-numactl --with-test=yes && make clean; make -j4 V=1; make -C tests check -j4 V=1 fails, yet: export CFLAGS='-fsemantic-interposition' ./configure --with-libvirtd --with-interface --with-numactl --with-test=yes && make clean; make -j4 V=1; make -C tests check -j4 V=1 Passes with gcc-5.1. The docs for the flag are at: https://gcc.gnu.org/onlinedocs/gcc-5.1.0/gcc/Optimize-Options.html#index-fsemantic-interposition-972 "...With -fno-semantic-interposition the compiler assumes that if interposition happens for functions the overwriting function will have precisely the same semantics (and side effects). Similarly if interposition happens for variables, the constructor of the variable will be the same. The flag has no effect for functions explicitly declared inline (where it is never allowed for interposition to change semantics) and for symbols explicitly declared weak." I will stop using "-fno-semantic-interposition" for now, but do you think this is something that could be fixed in either numactl and/or libvirt codebase? It is desirable to use -fno-semantic-interposition. -- Regards, Dimitri. Pura Vida! https://clearlinux.org Open Source Technology Center Intel Corporation (UK) Ltd. - Co. Reg. #1134945 - Pipers Way, Swindon SN3 1RJ. -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list