Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 02 Apr 2009 10:51:22 -0400
From:      Pierre-Luc Drouin <pldrouin@pldrouin.net>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-acpi@freebsd.org
Subject:   Re: Wrong dev.cpu.0.freq_levels values
Message-ID:  <49D4D0EA.1050108@pldrouin.net>
In-Reply-To: <200904020908.00723.jhb@freebsd.org>
References:  <20090402033543.43DDD1CC0B@ptavv.es.net> <200904020908.00723.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin wrote:
> On Wednesday 01 April 2009 11:35:43 pm Kevin Oberman wrote:
>   
>>> Date: Wed, 01 Apr 2009 23:16:13 -0400
>>> From: Pierre-Luc Drouin <pldrouin@pldrouin.net>
>>> Sender: owner-freebsd-acpi@freebsd.org
>>>
>>> I tried disabling both p4tcc and acpi_throttle by putting the following 
>>> in /boot/device.hints:
>>> hint.p4tcc.0.disabled="1"
>>> hint.acpi_throttle.0.disabled="1"
>>>
>>> It reduced the number of levels, but I still don't have a level 2000 as 
>>> I used to get:
>>> dev.cpu.0.freq: 1500
>>> dev.cpu.0.freq_levels: 1500/-1 1200/-1 1000/-1 800/-1 600/-1
>>> dev.est.0.%desc: Enhanced SpeedStep Frequency Control
>>> dev.est.0.freq_settings: 1500/-1 1200/-1 1000/-1 800/-1 600/-1
>>>
>>> Pierre-Luc Drouin
>>>
>>> Nate Lawson wrote:
>>>       
>>>> Pierre-Luc Drouin wrote:
>>>>   
>>>>         
>>>>> Hello,
>>>>>
>>>>> I have noticed that FreeBSD gets the wrong CPU frequency levels for my
>>>>> Pentium M 2GHz. It used to work correctly with older versions of
>>>>> FreeBSD, but I noticed that this was not working properly when I
>>>>> installed 7.1 and this is still not working with -stable:
>>>>>
>>>>>     
>>>>>           
>>>>   
>>>>         
>>>>> dev.cpu.0.freq: 1500
>>>>> dev.cpu.0.freq_levels: 1500/-1 1312/-1 1200/-1 1050/-1 1000/-1 875/-1
>>>>> 800/-1 700/-1 600/-1 525/-1 450/-1 375/-1 300/-1 225/-1 150/-1 75/-1
>>>>> dev.est.0.%desc: Enhanced SpeedStep Frequency Control
>>>>> dev.est.0.freq_settings: 1500/-1 1200/-1 1000/-1 800/-1 600/-1
>>>>>
>>>>> Is there a way to fix this?
>>>>>     
>>>>>           
>>>> There's nothing wrong. You just got more levels using p4tcc (another
>>>> cpufreq device). So use it as-is, or disable the p4tcc driver and
>>>> acpi_throttle drivers.
>>>>
>>>>         
>> There is a problem, of course. I had the same issue with my 2GHz Pentium
>> M. It was easy to fix, but totally counter-intuitive.
>>
>> Build your kernel without "device cpufreq" and it will all work
>> fine. Here is what I see without CPUFREQ:
>> dev.cpu.0.freq_levels: 2000/27000 1750/23625 1600/22600 1400/19775 
>>     
> 1333/19666 1166/17207 1066/16733 932/14641 800/13800 700/12075 600/10350 
> 500/8625 400/6900 300/5175 200/3450 100/1725
>
> Hmm, that means one of the cpufreq drivers is busted I think.  Can you try 
> disabling all of them to see which one is the problem (est perhaps?)  Also, 
> can you show the 'devinfo' output for your cpu0 device (and its child 
> devices) in the cpufreq and non-cpufreq cases?
>
>   
est0 seems to be the problem. When I have the cpufreq driver in my 
kernel, that I disable est0 and that I leave p4tcc0 and acpi_throttle0 
enabled, the output from sysctl is right. If I disable p4tcc0 and 
acpi_throttle0 and that I leave est0 enabled, the highest level is 1500 
rather than 2000. Here is the output from devinfo that concerns cpu0:

cpu0 pnpinfo _HID=none _UID=0 at handle=\_PR_.CPU0
        ACPI I/O ports:
            0x1014
            0x1015
            0x1016
      est0
      p4tcc0
      acpi_perf0
      acpi_throttle0
      cpufreq0

Pierre-Luc Drouin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49D4D0EA.1050108>