]> git.saurik.com Git - apple/xnu.git/blob - osfmk/man/P_set_policy_control.html
xnu-344.tar.gz
[apple/xnu.git] / osfmk / man / P_set_policy_control.html
1 <h2>processor_set_policy_control</h2> <hr> <p> <strong>Function</strong> - Set target processor set's scheduling policy state. <h3>SYNOPSIS</h3> <pre> <strong>kern_return_t processor_set_policy_control</strong> <strong>(processor_set_t</strong> <var>processor_set_control</var>, <strong>processor_set_flavor_t</strong> <var>flavor</var>, <strong>processor_set_info_t</strong> <var>policy_info</var>, <strong>mach_msg_type_number_t*</strong> <var>policy_info_count</var>, <strong>boolean_t</strong> <var>change_tasks_threads</var><strong>);</strong> </pre> <h3>PARAMETERS</h3> <dl> <dt> <var>processor_set_control</var> <dd> [in processor-set-control send right] A processor set control port. <dt> <var>flavor</var> <dd> [in scalar] The type of policy change to make. <dl> <dt> <strong>PROCESSOR_SET_TIMESHARE_DEFAULT</strong> <dd> Change the base attributes for the timeshare scheduling policy, making timeshare the default policy. The structure is <strong>policy_timeshare_base</strong>. <dt> <strong>PROCESSOR_SET_FIFO_DEFAULT</strong> <dd> Change the base attributes for the FIFO (first-in, first-out) scheduling policy, making FIFO the default policy. The structure is <strong>policy_fifo_base</strong>. <dt> <strong>PROCESSOR_SET_RR_DEFAULT</strong> <dd> Changed the base attributes for the round-robin scheduling policy, making round robin the default policy. The structure is <strong>policy_rr_base</strong>. <dt> <strong>PROCESSOR_SET_TIMESHARE_LIMITS</strong> <dd> Change the limits on the allowed timeshare policy attributes. The structure is defined by <strong>policy_timeshare_limit</strong>. <dt> <strong>PROCESSOR_SET_RR_LIMITS</strong> <dd> Change the limits on the allowed round robin policy attributes. The structure is defined by <strong>policy_rr_limit</strong>. <dt> <strong>PROCESSOR_SET_FIFO_LIMITS</strong> <dd> Change the limits on the allowed first-in, first-out policy attributes. The structure is defined by <strong>policy_fifo_limit</strong>. <dt> <strong>PROCESSOR_SET_ENABLED_POLICIES</strong> <dd> Change the set of enabled policies. The data is a bit-vector. </dl> <dt> <var>policy_info</var> <dd> [in structure] The relevant policy information. <dt> <var>policy_info_count</var> <dd> [in scalar] The size of the buffer (in natural-sized units). <dt> <var>change_tasks_threads</var> <dd> [in scalar] If true, any assigned task or thread whose policy is no longer enabled or whose scheduling attributes exceed the current limits will have their limits adjusted or their policy set to the default as appropriate. </dl> <h3>DESCRIPTION</h3> <p> The <strong>processor_set_policy_control</strong> function controls scheduling attributes governing the processor set. <h3>RETURN VALUES</h3> <p> Only generic errors apply. <h3>RELATED INFORMATION</h3> <p> Functions: <a href="processor_set_statistics.html">processor_set_statistics</a>, <a href="processor_set_create.html">processor_set_create</a>, <a href="processor_set_default.html">processor_set_default</a>, <a href="processor_assign.html">processor_assign</a>, <a href="processor_set_info.html">processor_set_info</a>. <p> Data Structures: <a href="policy_timeshare_info.html">policy_timeshare_info</a>, <a href="policy_rr_info.html">policy_rr_info</a>, <a href="policy_fifo_info.html">policy_fifo_info</a>.