[PATCH 1/3] cpuidle: powernv: Don't bounce between low and very low thread priority
Vaidyanathan Srinivasan
svaidy at linux.vnet.ibm.com
Tue Apr 4 14:04:41 AEST 2017
* Anton Blanchard <anton at ozlabs.org> [2017-04-04 07:54:12]:
> From: Anton Blanchard <anton at samba.org>
>
> The core of snooze_loop() continually bounces between low and very
> low thread priority. Changing thread priorities is an expensive
> operation that can negatively impact other threads on a core.
>
> All CPUs that can run PowerNV support very low priority, so we can
> avoid the change completely.
>
> Signed-off-by: Anton Blanchard <anton at samba.org>
Reviewed-by: Vaidyanathan Srinivasan <svaidy at linux.vnet.ibm.com>
> ---
> drivers/cpuidle/cpuidle-powernv.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/cpuidle/cpuidle-powernv.c b/drivers/cpuidle/cpuidle-powernv.c
> index cda8f62d555b..9d9f164894eb 100644
> --- a/drivers/cpuidle/cpuidle-powernv.c
> +++ b/drivers/cpuidle/cpuidle-powernv.c
> @@ -57,7 +57,6 @@ static int snooze_loop(struct cpuidle_device *dev,
> snooze_exit_time = get_tb() + snooze_timeout;
> ppc64_runlatch_off();
> while (!need_resched()) {
> - HMT_low();
> HMT_very_low();
> if (snooze_timeout_en && get_tb() > snooze_exit_time)
> break;
HMT_low() is legacy and can be removed for powernv platforms.
--Vaidy
More information about the Linuxppc-dev
mailing list