xref: /xnu-8796.121.2/osfmk/man/P_set_policy_disable.html (revision c54f35ca767986246321eb901baf8f5ff7923f6a)
1*c54f35caSApple OSS Distributions<h2>processor_set_policy_disable</h2>
2*c54f35caSApple OSS Distributions<hr>
3*c54f35caSApple OSS Distributions<p>
4*c54f35caSApple OSS Distributions<strong>Function</strong> - Disables a scheduling policy for a processor set.
5*c54f35caSApple OSS Distributions<h3>SYNOPSIS</h3>
6*c54f35caSApple OSS Distributions<pre>
7*c54f35caSApple OSS Distributions<strong>#include&lt mach/mach_host.h&gt</strong>
8*c54f35caSApple OSS Distributions
9*c54f35caSApple OSS Distributions<strong>kern_return_t	processor_set_policy_disable</strong>
10*c54f35caSApple OSS Distributions		<strong>(processor_set_t</strong>	<var>processor_set</var>,
11*c54f35caSApple OSS Distributions		<strong>int</strong>	<var>policy</var>,
12*c54f35caSApple OSS Distributions		<strong>boolean_t</strong>	<var>change_threads</var><strong>);</strong>
13*c54f35caSApple OSS Distributions</pre>
14*c54f35caSApple OSS Distributions<h3>PARAMETERS</h3>
15*c54f35caSApple OSS Distributions<dl>
16*c54f35caSApple OSS Distributions<dt> <var>processor_set</var>
17*c54f35caSApple OSS Distributions<dd>
18*c54f35caSApple OSS Distributions[in processor-set-control port] The control port for the processor set for which a scheduling policy is to be disabled.
19*c54f35caSApple OSS Distributions<dt> <var>policy</var>
20*c54f35caSApple OSS Distributions<dd>
21*c54f35caSApple OSS Distributions[in scalar] Policy to be disabled. The values currently defined are POLICY_TIMESHARE and POLICY_FIXEDPRI.
22*c54f35caSApple OSS Distributions<dt> <var>change_threads</var>
23*c54f35caSApple OSS Distributions<dd>
24*c54f35caSApple OSS Distributions[in scalar] If true, causes the scheduling policy for all threads currently running with policy to POLICY_TIMESHARE.
25*c54f35caSApple OSS Distributions</dl>
26*c54f35caSApple OSS Distributions<h3>DESCRIPTION</h3>
27*c54f35caSApple OSS Distributions<p>
28*c54f35caSApple OSS DistributionsThe <strong>processor_set_policy_disable</strong>
29*c54f35caSApple OSS Distributionsfunction restricts the set of scheduling policies allowed for
30*c54f35caSApple OSS Distributions<var>processor_set</var>. The set of scheduling policies allowed for a
31*c54f35caSApple OSS Distributionsprocessor set is the set of policies allowed to be set for threads
32*c54f35caSApple OSS Distributionsassigned to that processor set. The current set of permitted policies
33*c54f35caSApple OSS Distributionscan be obtained from <strong>processor_set_info</strong>. Timesharing may
34*c54f35caSApple OSS Distributionsnot be forbidden for any processor set. This is a compromise to reduce
35*c54f35caSApple OSS Distributionsthe complexity of the assign operation; any thread whose
36*c54f35caSApple OSS Distributions<var>policy</var> is forbidden by its target processor set has its
37*c54f35caSApple OSS Distributions<var>policy</var> reset to timesharing. Disabling a scheduling
38*c54f35caSApple OSS Distributions<var>policy</var> for a processor set has no effect on threads
39*c54f35caSApple OSS Distributionscurrently assigned to that processor set unless
40*c54f35caSApple OSS Distributions<var>change_threads</var> is TRUE, in which case their policies will
41*c54f35caSApple OSS Distributionsbe reset to timesharing.
42*c54f35caSApple OSS Distributions<h3>RETURN VALUES</h3>
43*c54f35caSApple OSS Distributions<p>
44*c54f35caSApple OSS DistributionsOnly generic errors apply.
45*c54f35caSApple OSS Distributions<h3>RELATED INFORMATION</h3>
46*c54f35caSApple OSS Distributions<p>
47*c54f35caSApple OSS DistributionsFunctions:
48*c54f35caSApple OSS Distributions<a href="P_set_policy_enable.html">processor_set_policy_enable</a>,
49*c54f35caSApple OSS Distributions<a href="processor_set_info.html">processor_set_info</a>,
50*c54f35caSApple OSS Distributions<a href="thread_policy.html">thread_policy</a>.
51