]> git.saurik.com Git - apple/xnu.git/blame - osfmk/man/processor_assign.html
xnu-792.6.76.tar.gz
[apple/xnu.git] / osfmk / man / processor_assign.html
CommitLineData
13fec989
A
1<h2>processor_assign</h2>
2<hr>
3<p>
4<strong>Function</strong> - Assign a processor to a processor set.
5<h3>SYNOPSIS</h3>
6<pre>
7<strong>kern_return_t processor_assign</strong>
8 <strong>(processor_t</strong> <var>processor</var>,
9 <strong>processor_set_t</strong> <var>new_set</var>,
10 <strong>boolean_t</strong> <var>wait</var><strong>);</strong>
11</pre>
12<h3>PARAMETERS</h3>
13<dl>
14<dt> <var>processor</var>
15<dd>
16[in processor send right]
17The processor to be assigned.
18<dt> <var>new_set</var>
19<dd>
20[in processor-set-control send right]
21The control port for the processor
22set into which the processor is to be assigned.
23<dt> <var>wait</var>
24<dd>
25[in scalar]
26True if the call should wait for the completion of the
27assignment.
28</dl>
29<h3>DESCRIPTION</h3>
30<p>
31The <strong>processor_assign</strong> function assigns <var>processor</var> to
32the set <var>new_set</var>. After the
33assignment is completed, the processor only executes threads that are assigned
34to that processor set. Any previous assignment of the processor
35is nullified. The
36master processor cannot be re-assigned.
37<p>
38The <var>wait</var> argument indicates whether the
39caller should wait for the assignment
40to be completed or should return immediately. Dedicated kernel threads are
41used to perform processor assignment, so setting <var>wait</var> to <strong>FALSE</strong> allows
42assignment requests to be queued and performed more quickly, especially
43if the kernel has
44more than one dedicated internal thread for processor assignment.
45<p>
46All processors take clock interrupts at all times. Redirection of other device
47interrupts away from processors assigned to other than the default
48processor set is
49machine dependent.
50<h3>RETURN VALUES</h3>
51<p>
52Only generic errors apply.
53<h3>RELATED INFORMATION</h3>
54<p>
55Functions:
56<a href="processor_set_create.html">processor_set_create</a>,
57<a href="processor_set_info.html">processor_set_info</a>,
58<a href="task_assign.html">task_assign</a>,
59<a href="thread_assign.html">thread_assign</a>.