]> git.saurik.com Git - apple/xnu.git/blob - osfmk/man/policy_timeshare_info.html
xnu-2422.1.72.tar.gz
[apple/xnu.git] / osfmk / man / policy_timeshare_info.html
1 <h2>policy_timeshare_info</h2>
2 <hr>
3 <p>
4 <strong>Structure</strong> - Specifies information associated with the system's Timeshare scheduling policy.
5 <h3>SYNOPSIS</h3>
6 <pre>
7 <strong>struct policy_timeshare_limit</strong>
8 <strong>{</strong>
9 <strong>int</strong> <var>max_priority</var><strong>;</strong>
10 <strong>};</strong>
11
12 <strong>struct policy_timeshare_base</strong>
13 <strong>{</strong>
14 <strong>int</strong> <var>base_priority</var><strong>;</strong>
15 <strong>};</strong>
16
17 <strong>struct policy_timeshare_info</strong>
18 <strong>{</strong>
19 <strong>int</strong> <var>max_priority</var><strong>;</strong>
20 <strong>int</strong> <var>base_priority</var><strong>;</strong>
21 <strong>int</strong> <var>cur_priority</var><strong>;</strong>
22 <strong>boolean_t</strong> <var>depressed</var><strong>;</strong>
23 <strong>int</strong> <var>depress_priority</var><strong>;</strong>
24 <strong>};</strong>
25 </pre>
26 <h3>FIELDS</h3>
27 <dl>
28 <dt> <var>max_priority</var>
29 <dd>
30 Maximum scheduling priority.
31 <p>
32 <dt> <var>base_priority</var>
33 <dd>
34 Base scheduling priority.
35 <p>
36 <dt> <var>cur_priority</var>
37 <dd>
38 Current scheduling priority.
39 <p>
40 <dt> <var>depressed</var>
41 <dd>
42 True if scheduling priority is depressed.
43 <p>
44 <dt> <var>depress_priority</var>
45 <dd>
46 Scheduling priority from which depressed.
47 </dl>
48 <h3>DESCRIPTION</h3>
49 <p>
50 The <strong>policy_timeshare_info</strong> structure defines the timeshare
51 scheduling policy
52 information.
53 Timeshare threads have three priorities associated with them by the system:
54 <ul>
55 <p>
56 <li>
57 A maximum priority value which can be raised only via privileged operation
58 so that users may not unfairly compete with other users in their processor
59 set. Newly created threads obtain their maximum priority from that of their
60 assigned processor set.
61 <p>
62 <li>
63 A priority value which can be set by the thread to any value up to a
64 maximum priority. Newly created threads obtain their priority from their task.
65 <p>
66 <li>
67 A scheduled priority value which is used to make scheduling decisions for
68 the thread. This value is determined on the basis of the user
69 priority value by
70 the scheduling policy (for time-sharing, this means adding an increment
71 derived from CPU usage).
72 </ul>
73 <h3>RELATED INFORMATION</h3>
74 <p>
75 Functions:
76 <a href="thread_info.html"><strong>thread_info</strong></a>,
77 <a href="task_info.html"><strong>task_info</strong></a>,
78 <a href="processor_set_info.html"><strong>processor_set_info</strong></a>,
79 <a href="P_set_policy_control.html"><strong>processor_set_policy_control</strong></a>,
80 <a href="P_set_policy_disable.html"><strong>processor_set_policy_disable</strong></a>,
81 <a href="P_set_policy_enable.html"><strong>processor_set_policy_enable</strong></a>,
82 <a href="task_policy.html"><strong>task_policy</strong></a>,
83 <a href="thread_policy.html"><strong>thread_policy</strong></a>,
84 <a href="thread_set_policy.html"><strong>thread_set_policy</strong></a>.
85 <p>
86 Data Structures:
87 <a href="policy_fifo_info.html"><strong>policy_fifo_info</strong></a>,
88 <a href="policy_rr_info.html"><strong>policy_rr_info</strong></a>.