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