1 <h2>processor_assign
</h2>
<hr>
<p>
<strong>Function
</strong> - Assign a processor to a processor set.
<h3>SYNOPSIS
</h3>
<pre>
<strong>kern_return_t processor_assign
</strong>
<strong>(processor_t
</strong> <var>processor
</var>,
<strong>processor_set_t
</strong> <var>new_set
</var>,
<strong>boolean_t
</strong> <var>wait
</var><strong>);
</strong>
</pre>
<h3>PARAMETERS
</h3>
<dl>
<dt> <var>processor
</var>
<dd>
[in processor send right]
The processor to be assigned.
<dt> <var>new_set
</var>
<dd>
[in processor-set-control send right]
The control port for the processor
set into which the processor is to be assigned.
<dt> <var>wait
</var>
<dd>
[in scalar]
True if the call should wait for the completion of the
assignment.
</dl>
<h3>DESCRIPTION
</h3>
<p>
The
<strong>processor_assign
</strong> function assigns
<var>processor
</var> to
the set
<var>new_set
</var>. After the
assignment is completed, the processor only executes threads that are assigned
to that processor set. Any previous assignment of the processor
is nullified. The
master processor cannot be re-assigned.
<p>
The
<var>wait
</var> argument indicates whether the
caller should wait for the assignment
to be completed or should return immediately. Dedicated kernel threads are
used to perform processor assignment, so setting
<var>wait
</var> to
<strong>FALSE
</strong> allows
assignment requests to be queued and performed more quickly, especially
if the kernel has
more than one dedicated internal thread for processor assignment.
<p>
All processors take clock interrupts at all times. Redirection of other device
interrupts away from processors assigned to other than the default
processor set is
machine dependent.
<h3>RETURN VALUES
</h3>
<p>
Only generic errors apply.
<h3>RELATED INFORMATION
</h3>
<p>
Functions:
<a href=
"processor_set_create.html">processor_set_create
</a>,
<a href=
"processor_set_info.html">processor_set_info
</a>,
<a href=
"task_assign.html">task_assign
</a>,
<a href=
"thread_assign.html">thread_assign
</a>.