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