High Pitched Whine

Paul Lipps paul.lipps at gmail.com
Mon Jun 5 17:21:56 PDT 2006

While it might not have been appropriate, you have been most  
helpful. :) Could you please let me know what list would have been  
most appropriate?

I will try the cure you mentioned regarding the Hz change. It has  
also been mentioned that hot glue on the motherboard coils might  
help. It just seems to me something is not quite right in FreeBSD's  
hardware detection as I don't have this issue with any version of  
Linux or Windows I have installed.

I understand HTT is not utilized in FreeBSD, which is why it puzzles  
me that starting with FreeBSD 6.1 an SMP kernel is installed on my  
machine by default now. Disabling HTT in the BIOS is not an option  
unfortunately as my other installed operating systems take advantage  
of HTT.

Thanks again,

Paul Lipps
paul.lipps at gmail.com

On Jun 5, 2006, at 5:57 PM, Michal Mertl wrote:

> Paul Lipps wrote:
>> Hello,
>> I am fairly new to FreeBSD (5.4 was my first version) and I have ran
>> into an issue that I think is related to the SMP capabilities of
>> FreeBSD. I apologize in advance if this topic is inappropriate for
>> this mailing list.
> I believe it isn't really appropriate.
>> When I am running FreeBSD, my computer emits a high pitched whining
>> noise. It's not a 'physical' noise like a fan or hard disk grinding,
>> it's more of a electrical whine. It's driving me nuts though, it's
>> like a dog whistle. This does not happen when I run any versions of
>> Windows or Linux. This has been the case for all versions of FreeBSD
>> I have had installed, 5.4, 6.0, and 6.1.
> I think that someone reported it before and I think the cure was to
> change the hz setting - try to enter kern.hz=100 in the loader prompt
> (or add it to /boot/loader.conf).
>> I recently discovered when I do:
>> sysctl machdep.cpu_idle_hlt=0
>> the high pitch whine stops.
>> I have a P4 with HyperThreading, and FreeBSD 6.1 installed a SMP
>> kernel by default. I built a non-SMP kernel, and the high pitch whine
>> is still there.
>> So I did a:
>> sysctl machdep.cpu_idle_hlt=0
>> after installing the non-SMP kernel and again the whine stopped.
>> I tried disabling HTT in the BIOS under both the SMP and the non-SMP
>> kernel and the whine remained. So regardless if HTT is enabled in the
>> BIOS or not, and regardless if I'm running an SMP kernel or not, the
>> only thing that gets rid of the high pitch whine is:
>> sysctl machdep.cpu_idle_hlt=0
>> Now there is another problem. When I do the command above, the CPU
>> temperature rises rapidly. I can tell as my cooling system has a  
>> auto-
>> throttling fan (Shuttle XPC) and I hear the fan increase in speed
>> quickly and steadily after I 'unhalt' the 2nd logical CPU. So the 2nd
>> logical CPU must be getting stuck in a loop or something, I'm not
>> sure really how to see what is happening.
> You are probably misunderstanding what machdep.cpu_idle_hlt does - it
> tells the idle thread(s) that when there's no work for a processor it
> issues the hlt instuction. Processors enter some light sleeping mode,
> reduce clockspeed or whatever and therefore get cooler.
> There are better/more modern methods to reduce the power and get the
> temperature down - ACPI Cx states and others methods but they aren't
> generally much available/effective on desktop machines AFAIK. It  
> should
> normally work out of the box. See cpufreq manual page, sysctl dev.cpu,
> dev.acpi_throttle, dev.cpufreq, dev.est, dev.p4tcc and
> hw.acpi.cpu.cx_supported. I haven't seen much of it documented  
> anywhere
> though and I don't really understand all of it either.
> With modern FreeBSD, HTT cores aren't actually used for anything by
> default. Performance improvements of HTT are usually minimal at best
> anyway and there is known security vulnerability in HTT. To enable HTT
> in FreeBSD it needs to be enabled in the HW (normally via a BIOS
> setting) and in FreeBSD - as all the computers with HTT CPU's I have
> access to are configured to disable it in the BIOS I am not sure  
> how to
> enable it in FreeBSD - there is probably tunable/sysctl
> machdep.hyperthreading_allowed and hlt_logical_cpus which can probably
> be used to turn it on.
> To see whether HTT really works you should see in top command  
> column 'C'
> and some processes (other than idle) should be running on CPU 1.
>> If anyone has any suggestions as to how this issue could be resolved,
>> or could point me in the right direction, I would appreciate it. I
>> would be happy to provide dmesg or any other information if it would
>> be helpful.
>> Thank You for your time,
>> Paul Lipps
>> paul.lipps at gmail.com
>> _______________________________________________
>> freebsd-smp at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-smp
>> To unsubscribe, send any mail to "freebsd-smp- 
>> unsubscribe at freebsd.org"

More information about the freebsd-smp mailing list