]> git.saurik.com Git - apple/xnu.git/blame - osfmk/man/P_set_policy_control.html
xnu-2422.1.72.tar.gz
[apple/xnu.git] / osfmk / man / P_set_policy_control.html
CommitLineData
13fec989
A
1<h2>processor_set_policy_control</h2>
2<hr>
3<p>
4<strong>Function</strong> - Set target processor set's scheduling policy state.
5<h3>SYNOPSIS</h3>
6<pre>
7<strong>kern_return_t processor_set_policy_control</strong>
8 <strong>(processor_set_t</strong> <var>processor_set_control</var>,
9 <strong>processor_set_flavor_t</strong> <var>flavor</var>,
10 <strong>processor_set_info_t</strong> <var>policy_info</var>,
11 <strong>mach_msg_type_number_t*</strong> <var>policy_info_count</var>,
12 <strong>boolean_t</strong> <var>change_tasks_threads</var><strong>);</strong>
13</pre>
14<h3>PARAMETERS</h3>
15<dl>
16<dt> <var>processor_set_control</var>
17<dd>
18[in processor-set-control send right]
19A processor set control port.
20<dt> <var>flavor</var>
21<dd>
22[in scalar]
23The type of policy change to make.
24<dl>
25<dt> <strong>PROCESSOR_SET_TIMESHARE_DEFAULT</strong>
26<dd>
27Change the base attributes for the timeshare scheduling
28policy, making timeshare the default policy. The structure is
29<strong>policy_timeshare_base</strong>.
30<dt> <strong>PROCESSOR_SET_FIFO_DEFAULT</strong>
31<dd>
32Change the base attributes for the FIFO (first-in, first-out)
33scheduling policy, making FIFO the default policy. The
34structure is <strong>policy_fifo_base</strong>.
35<dt> <strong>PROCESSOR_SET_RR_DEFAULT</strong>
36<dd>
37Changed the base attributes for the round-robin scheduling
38policy, making round robin the default policy. The structure is
39<strong>policy_rr_base</strong>.
40<dt> <strong>PROCESSOR_SET_TIMESHARE_LIMITS</strong>
41<dd>
42Change the limits on the allowed timeshare policy attributes.
43The structure is defined by <strong>policy_timeshare_limit</strong>.
44<dt> <strong>PROCESSOR_SET_RR_LIMITS</strong>
45<dd>
46Change the limits on the allowed round robin policy
47attributes. The structure is defined by <strong>policy_rr_limit</strong>.
48<dt> <strong>PROCESSOR_SET_FIFO_LIMITS</strong>
49<dd>
50Change the limits on the allowed first-in, first-out policy
51attributes. The structure is defined by <strong>policy_fifo_limit</strong>.
52<dt> <strong>PROCESSOR_SET_ENABLED_POLICIES</strong>
53<dd>
54Change the set of enabled policies. The data is a bit-vector.
55</dl>
56<dt> <var>policy_info</var>
57<dd>
58[in structure]
59The relevant policy information.
60<dt> <var>policy_info_count</var>
61<dd>
62[in scalar]
63The size of the buffer (in natural-sized units).
64<dt> <var>change_tasks_threads</var>
65<dd>
66[in scalar]
67If true, any assigned task or thread whose policy is no
68longer enabled or whose scheduling attributes exceed the current limits will
69have their limits adjusted or their policy set to the default as
70appropriate.
71</dl>
72<h3>DESCRIPTION</h3>
73<p>
74The <strong>processor_set_policy_control</strong> function controls
75scheduling attributes governing the processor set.
76<h3>RETURN VALUES</h3>
77<p>
78Only generic errors apply.
79<h3>RELATED INFORMATION</h3>
80<p>
81Functions:
82<a href="processor_set_statistics.html">processor_set_statistics</a>,
83<a href="processor_set_create.html">processor_set_create</a>,
84<a href="processor_set_default.html">processor_set_default</a>,
85<a href="processor_assign.html">processor_assign</a>,
86<a href="processor_set_info.html">processor_set_info</a>.
87<p>
88Data Structures:
89<a href="policy_timeshare_info.html">policy_timeshare_info</a>,
90<a href="policy_rr_info.html">policy_rr_info</a>,
91<a href="policy_fifo_info.html">policy_fifo_info</a>.