Open MPI logo

Hardware Locality Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Hardware Locality Development mailing list

Subject: Re: [hwloc-devel] [hwloc-announce] Hardware locality (hwloc) v1.1rc1 released
From: Jirka Hladky (jhladky_at_[hidden])
Date: 2010-11-11 14:03:14


On Thursday, November 11, 2010 07:19:41 pm Samuel Thibault wrote:
> Jirka Hladky, le Thu 11 Nov 2010 14:50:46 +0100, a écrit :
> > "On this system function XYZ is not supported by GLIBC/KERNEL)"
> >
> > I'm missing the information:
> >
> > -which function is not implemented
>
> Well, you have it: hwloc_proc_getmembind()
> How it'd be called by the OS in the future is unknown of course.
>
> > -where this function belong - is it system call, glibc or hwloc's
> > function?
>
> It's always system call or glibc function, it depends on the system and
> we can't know where it'd be implemented in the future. Or our lack of
> knowledge of which system call can provide the functionality.

Well, I think I have not expressed myself correctly. At the moment we have:

hwloc_get_membind failed (errno 38 Function not implemented)

I would like to see which glibc/system call has failed.
Example:
============================================
  err = get_mempolicy(&linuxpolicy, linuxmask, max_os_index, 0, 0);
  if (err < 0) {
    perror("get_mempolicy"); <====== ADD THIS LINE
    goto out_with_mask;
  }
============================================

Right now, you just know that error has occurred somewhere in
hwloc_get_membind

My first impression when I saw the error message above was that function
"hwloc_get_membind" is not implemented.

>
> > Or perhaps something more user friendly like
> > "On this system --get does not work together with --membind"
>
> We'd have to handle a big list of combinations of parameters in that
> case. I'd rather add a paragraph to the documentation that just
> explains that not everything is available on all OSes, or hwloc just
> doesn't know that it got implemented.
I completely agree on that. Please add a paragraph to the documentation
explaining that some functionality is not avaialble on all OSes.

Thanks!
Jirka