No it just means that valgrind could properly check how hwloc uses mbind. But I checked the hwloc code again, things look ok, and the kernel is happy with our mbind parameters. Brice
----- Reply message ----- De : "Gabriele Fatigati" <g.fatig...@cineca.it> Pour?: "Brice Goglin" <brice.gog...@inria.fr> Cc : "Hardware locality user list" <hwloc-us...@open-mpi.org> Objet : [hwloc-users] hwloc varning flag Date : lun., ao?t 15, 2011 10:55 Hi Brice, thanks for the info, but it means mbind() function could does not works in some cases? 2011/8/14 Brice Goglin <brice.gog...@inria.fr> > ** > FWIW it's worth, it's a "bug" in valgrind. The manpage of mbind does not > exactly match the kernel requirements on mbind parameters. And valgrind > fails at respecting the manpage anyway. See > https://bugs.kde.org/show_bug.cgi?id=280083 for the mess... > > Brice > > > > Le 13/08/2011 15:07, Brice Goglin a ?crit : > > I think I am seeing this too on a custom program, so probably not your > application's fault. > Brice > > > > Le 13/08/2011 10:37, Gabriele Fatigati a ?crit : > > > > Dearhwloc users and developers, > > I'm using hwloc 1.2 stable version Intel 11 compiled and checking my > little application with valgrind 3.5. > > My app calls hwloc_set_area_membind_nodeset() function from a OpenMP > thread: > > hwloc_set_area_membind_nodeset(topology, mem, 10000, nodeset, > HWLOC_MEMBIND_BIND, HWLOC_MEMBIND_THREAD | HWLOC_MEMBIND_STRICT | > HWLOC_MEMBIND_NOCPUBIND ) > > membind seems to work well, but valgrind give me a follow warning: > > ==2904== Syscall param mbind(nodemask) points to unaddressable byte(s) > ==2904== at 0x4FF33C1: syscall6 (in /usr/lib64/libnuma.so.1) > ==2904== by 0x4FF3436: mbind (in /usr/lib64/libnuma.so.1) > ==2904== by 0x4C208AC: hwloc_linux_set_area_membind > (topology-linux.c:1071) > ==2904== by 0x4C1AC3E: hwloc_set_area_membind_nodeset (bind.c:396) > ==2904== by 0x402165: bind_memory_tonode (main.c:97) > ==2904== Address 0x5a64978 is 0 bytes after a block of size 8 alloc'd > ==2904== at 0x4A05140: calloc (vg_replace_malloc.c:418) > ==2904== by 0x4C20646: hwloc_linux_membind_mask_from_nodeset > (topology-linux.c:996) > ==2904== by 0x4C2083E: hwloc_linux_set_area_membind > (topology-linux.c:1054) > ==2904== by 0x4C1AC3E: hwloc_set_area_membind_nodeset (bind.c:396) > ==2904== by 0x401CBB: bind_memory_tonode (main.c:97) > > valgrind has --tool=memcheck --leak-check=full exec flags. > > It give me the same warning also with just one byte memory bound. > > Is it a hwloc warning or my applications warning? > > Thanks in forward. > > > > > > -- > Ing. Gabriele Fatigati > > HPC specialist > > SuperComputing Applications and Innovation Department > > Via Magnanelli 6/3, Casalecchio di Reno (BO) Italy > > www.cineca.it Tel: +39 051 6171722 > > g.fatigati [AT] cineca.it > > > _______________________________________________ > hwloc-users mailing > listhwloc-users@open-mpi.orghttp://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users > > > > -- Ing. Gabriele Fatigati HPC specialist SuperComputing Applications and Innovation Department Via Magnanelli 6/3, Casalecchio di Reno (BO) Italy www.cineca.it Tel: +39 051 6171722 g.fatigati [AT] cineca.it