getaffinity/setaffinity and cpu sets.
Ceri Davies
ceri at submonkey.net
Fri Feb 22 15:53:04 UTC 2008
On Thu, Feb 21, 2008 at 01:39:42PM -1000, Jeff Roberson wrote:
>
> On Thu, 21 Feb 2008, Ceri Davies wrote:
>
>> On Thu, Feb 21, 2008 at 09:27:41AM +0000, Robert Watson wrote:
>>
>>> - You don't mention what happens if a process's cpu set changes to preclude a
>>> CPU the process has a thread with affinity for. Online, you suggested
>>> SIGKILL, and I thought maybe a new SIGCPUGONE with a default SIGKILL action
>>> might be a friendlier model. We should see what Solaris and others do here
>>> though. I like the idea that the affinity is a guarantee in userspace
>>> because it means that you can rely on it; I'm OK with the idea that your
>>> thread always runs on the CPUs you have affinity for unless in the
>>> SIGCPUGONE handler :-).
>>
>> If a processor set disappears from under a process on Solaris, the
>> process gets moved to the "default" set (or, in other words, they aren't
>> in a set any more).
>
> Yes, that's ok, but what if the process has requested a specific cpu that
> it's now no longer allowed to access? The sets are seperate from the
> thread's specific requested binding. If the thread binds to a specific
> processor within the set and the set disappears what should we do? What if
> that process was relying on the binding to access cpu specific features
> such as tsc? Allowing it to migrate could then break the code.
OK, I was talking about processor sets; in Solaris, binding to a set
(pset_bind()) and binding to a specific processor (processor_bind()) are
different operations.
A processor that has LWPs bound to it specifically (with processor_bind())
may not be taken offline or marked as spare, unless the operation is forced,
whereupon forcing removes the binding. Since this is an administrative
choice, it's acceptable.
Ceri
--
That must be wonderful! I don't understand it at all.
-- Moliere
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20080222/affd9272/attachment.pgp
More information about the freebsd-arch
mailing list