Brice Goglin, le Sat 30 Jan 2010 17:40:29 +0100, a écrit :
> Samuel Thibault wrote:
> > Brice Goglin, le Sat 30 Jan 2010 17:34:32 +0100, a écrit :
> >
> >> But now that I understand all this, I wonder what application developers
> >> will think about it. Most applications want the list of procs that are
> >> online and allowed.
> >>
> >
> > And that's what they already get by default unless they set the
> > WHOLE_SYSTEM flag.
>
> r1711 says about obj->cpuset:
> "They however may be offline, or not allowed for binding"
I've added "if the WHOLE_SYSTEM flag is set"?
Yes, if we weren't wanting to express contradictory things it'd be way
simpler, but we want to. I don't believe duplicating information will
help the programmer to understand things. For now, I can see three
usage cases:
- An application wants to bind itself somewhere. That's what the
default configuration is meant for.
- A user monitoring application wants to check where things are bound.
The default configuration works for that too, provided it is started
from the same environment. If not, an hwloc_topology_set_pid()
configuration function is needed to get the proper restrictions.
- A global monitoring application wants to check which processors are
online/allowed and where applications are running etc. That's what
the HWLOC_TOPOLOGY_FLAG_WHOLE_SYSTEM flag helps for.
Samuel
|