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

Reply via email to