Re: [PATCH v2 06/17] cpufreq: Fix the efficient idle check for Intel extended Families

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2025-02-11 at 19:43 +0000, Sohil Mehta wrote:
> IO time is considered as busy by default for modern Intel processors.
> However the check doesn't include the upcoming Family 18 and 19
> processors. Also, Arjan van de Ven says the current nature of the
> check
> was mainly due to lack of testing on old systems. He suggests
> considering all Intel processors as having efficient idle.
> 
> Extend the IO busy classification to all Intel processors starting
> with
> Family 6.
> 
> Signed-off-by: Sohil Mehta <sohil.mehta@xxxxxxxxx>
> 
> ---
> 
> v2: Improve commit message and code comments.
> 
> ---
>  drivers/cpufreq/cpufreq_ondemand.c | 15 +++++++++------
>  1 file changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/cpufreq/cpufreq_ondemand.c
> b/drivers/cpufreq/cpufreq_ondemand.c
> index a7c38b8b3e78..b13f197707f4 100644
> --- a/drivers/cpufreq/cpufreq_ondemand.c
> +++ b/drivers/cpufreq/cpufreq_ondemand.c
> @@ -15,6 +15,10 @@
>  #include <linux/tick.h>
>  #include <linux/sched/cpufreq.h>
>  
> +#ifdef CONFIG_X86
> +#include <asm/cpu_device_id.h>
> +#endif
> +
>  #include "cpufreq_ondemand.h"
>  
>  /* On-demand governor macros */
> @@ -32,21 +36,20 @@ static unsigned int default_powersave_bias;
>  /*
>   * Not all CPUs want IO time to be accounted as busy; this depends
> on how
>   * efficient idling at a higher frequency/voltage is.
> - * Pavel Machek says this is not so for various generations of AMD
> and old
> - * Intel systems.
> + * Pavel Machek says this is not so for various generations of AMD.
>   * Mike Chan (android.com) claims this is also not true for ARM.
> - * Because of this, whitelist specific known (series) of CPUs by
> default, and
> + * Because of this, select known series of CPUs by default, and
>   * leave all others up to the user.
>   */
>  static int should_io_be_busy(void)
>  {
>  #if defined(CONFIG_X86)
>  	/*
> -	 * For Intel, Core 2 (model 15) and later have an efficient
> idle.
> +	 * Starting with Family 6 consider all Intel CPUs to have an
> +	 * efficient idle.
>  	 */
>  	if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL &&
> -			boot_cpu_data.x86 == 6 &&
> -			boot_cpu_data.x86_model >= 15)
> +	    boot_cpu_data.x86_vfm >= INTEL_PENTIUM_PRO)

This is "Starting from P4" rather than "Starting from Family 6", right?

thanks,
rui
>  		return 1;
>  #endif
>  	return 0;





[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux