Brice Goglin, le Mon 09 Nov 2009 15:18:11 +0100, a écrit :
> I don't think we need SET_CPUBIND since (from what I understand) it
> would be equivalent to SET_PROC_CPUBIND | SET_THREAD_CPUBIND.
Being able to set oneself's cpuset is not the same as being able to set
the cpuset of other processes or
Creating nightly hwloc snapshot SVN tarball was a success.
Snapshot: hwloc 1.0a1r1335
Start time: Wed Nov 11 21:01:02 EST 2009
End time: Wed Nov 11 21:02:54 EST 2009
Your friendly daemon,
Cyrador
Brice Goglin, le Thu 05 Nov 2009 17:22:15 +0100, a écrit :
> + int hwloc_plpa_sched_getaffinity(pid_t pid, hwloc_cpuset_t cpuset);
>
> It's just a hwloc_get_cpubind(), but we don't have it since it would not
> be supported on all OS. But I think we should add it anyway.
Being discussed in
Jeff Squyres, le Mon 09 Nov 2009 08:05:47 -0500, a écrit :
> Fair enough. What about if we have an AC check for
> pthread_setaffinity_np and use that if it exists, and if it doesn't
> use the PLPA way?
Err, remember that pthread_setaffinity_np alone doesn't permit to bind
another process,
Another way to go is in hwloc_plpa_sched_setaffinity put in
#ifdef HWLOC_LINUX_SYS some code that calls the internal
hwloc_linux_set_tid_cpubind (with a strong comment that nobody else
should call it), so that
- existing linux plpa users can have the same behavior, but we can
document here that
Brice Goglin, le Thu 12 Nov 2009 00:31:48 +0100, a écrit :
> The problem is that our hwloc/Linux does not implement
> set_proc_cpubind() so far.
But it can implement one that assumes that the target process is
singlethreaded, i.e. in hwloc_set_proc_cpubind distinguish between
bgog...@osl.iu.edu, le Wed 11 Nov 2009 11:33:31 -0500, a écrit :
> +/** \brief Bind thread given by \p pid to CPU set \p cpuset.
> + *
> + * \note This function now manipulates hwloc cpusets.
> + */
> +static __inline int
> +hwloc_plpa_sched_setaffinity(hwloc_topology_t topology, hwloc_pid_t pid,
bgog...@osl.iu.edu, le Wed 11 Nov 2009 11:33:31 -0500, a écrit :
> + /* FIXME: should be SET_THREAD_CPUBIND given with a pid */
> + if (flags & HWLOC_SUPPORT_SET_PROC_CPUBIND)
> +*api_type = HWLOC_PLPA_PROBE_OK;
> + else
> +*api_type = HWLOC_PLPA_PROBE_NOT_SUPPORTED;
> + return 0;
> +}
Jeff Squyres, le Wed 11 Nov 2009 05:54:00 -0800, a écrit :
> How about HWLOC_UNSUPPORTED_SYS?
I don't think it's a good idea to make it a compile-time thing rather
than a runtime-time thing: if we expose to the application the fact
that the OS on which the application is building is not