Re: CURRENT Kernel makes the system run very very hot

From: Ken Menzel <kenfreebsd_at_icarz.com>
Date: Wed, 12 Dec 2007 22:00:51 -0500
----- Original Message ----- 
From: "Rene Ladan" <r.c.ladan_at_gmail.com>
To: "Ken Menzel" <kenm_at_icarz.com>
Cc: <freebsd-current_at_freebsd.org>
Sent: Wednesday, December 12, 2007 3:32 PM
Subject: Re: CURRENT Kernel makes the system run very very hot


> Ken Menzel schreef:
>> ----- Original Message ----- From: "Rene Ladan" 
>> <r.c.ladan_at_gmail.com>
>> To: "Ken Menzel" <kenm_at_icarz.com>
>> Cc: <freebsd-current_at_freebsd.org>
>> Sent: Wednesday, December 12, 2007 12:18 PM
>> Subject: Re: CURRENT Kernel makes the system run very very hot
>>
>>
>>> 2007/12/12, Ken Menzel <kenfreebsd_at_icarz.com>:
>>>> ----- Original Message -----
>>>> From: "Mark Linimon" <linimon_at_lonesome.com>
>>>> To: "Sam Fourman Jr." <sfourman_at_gmail.com>
>>>> Cc: <freebsd-current_at_freebsd.org>
>>>> Sent: Wednesday, December 12, 2007 2:42 AM
>>>> Subject: Re: CURRENT Kernel makes the system run very very hot
>>>>
>>>>
>>>> > On Wed, Dec 12, 2007 at 01:38:49AM -0600, Sam Fourman Jr. 
>>>> > wrote:
>>>> >> I did not file a PR (I don't know how I have never done one.)
>>>> >
>>>> > Please see http://www.freebsd.org/support/bugreports.html.
>>>> >
>>>> > mcl
>>>> Thanks Mark,  It seems like it may be an ACPI problem based on:
>>>>
>>>> (kgdb) print cpu_idle_hook
>>>> $1 = (void (*)(void)) 0xffffffff801d0bb0 <acpi_cpu_idle>
>>>> (kgdb) q
>>>>
>>>> Thanks to Kostik Belousov for the advice on where to go next. 
>>>> And
>>>> based on that I will move this to the ACPI mailing list and file 
>>>> a PR.
>>>>
>>> Hmm, on my too hot i386 laptop:
>>>
>>> # make installkernel.debug
>>> #gdb /boot/kernel/kernel
>>> GNU gdb 6.1.1 [FreeBSD]
>>> Copyright 2004 Free Software Foundation, Inc.
>>> GDB is free software, covered by the GNU General Public License, 
>>> and
>>> you are
>>> welcome to change it and/or distribute copies of it under certain
>>> conditions.
>>> Type "show copying" to see the conditions.
>>> There is absolutely no warranty for GDB.  Type "show warranty" for
>>> details.
>>> This GDB was configured as "i386-marcel-freebsd"...
>>> (gdb) print cpu_idle_hook
>>> $1 = (void (*)(void)) 0xc063cc9b <cpu_idle_default>
>>> (gdb) print cpu_idle_default
>>> $2 = {void (void)} 0xc063cc9b <cpu_idle_default>
>>>
>>
>>
>> Rene,  please try
>>
>> cd /usr/obj/usr/src/sys/GENERIC  (or where-ever you built your 
>> kernel)
>> kgdb kernel.debug /dev/mem
>> print cpu_idle_hook
>>
>> This should show what is running in memory.
>>
> But it doens't :( (at least not human-readable).
>
> -----
>
> root_at_ip4da3ae31:/usr/obj/usr/src/sys/RENE#kgdb kernel.debug /dev/mem
> [GDB will not be able to debug user-mode threads: 
> /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
> GNU gdb 6.1.1 [FreeBSD]
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and 
> you are
> welcome to change it and/or distribute copies of it under certain 
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for 
> details.
> This GDB was configured as "i386-marcel-freebsd".
> Ready to go.  Enter 'tr' to connect to the remote target
> with /dev/cuad0, 'tr /dev/cuad1' to connect to a different port
> or 'trf portno' to connect to the remote target with the firewire
> interface.  portno defaults to 5556.
>
> Type 'getsyms' after connection to load kld symbols.
>
> If you're debugging a local system, you can use 'kldsyms' instead
> to load the kld symbols.  That's a less obnoxious interface.
> During symbol reading...location expression too complex...
> During symbol reading, unsupported tag: 'DW_TAG_const_type'.

Symbols did not load???  Did you strip the kernel or not compile with 
makeoptions  DEBUG=-g ?  I have this and options DDB and options KDB.

> #0  0x00000000 in ?? ()
> (kgdb) print cpu_idle_hook
> $1 = (void (*)(void)) 0xc080b6fd
> (kgdb) print *0xc080b6fd
> $2 = 0x57e58955
> (kgdb) print *0x57e58955
> Error accessing memory address 0x57e58955: Bad address.
> (kgdb) q
>
> -----
>
> The result is the same after all daily modules are loaded (my kernel 
> is quite minimal).
> I manually booted /boot/kernel.debug/kernel.debug which I manually 
> copied from the
> build directory.
>
> Regards,
> Rene

Hmmmm -- looks like symbols did not load.  I am not an expert in this 
area.  But I do know acpi is loaded after boot and I believe you have 
check the running kernel or a core dump from a running kernel. 
Otherwise you will always see the cpu_idle_default on the unloaded 
kernel, as I do also.  I am working with Nate Lawson privately on 
this.  I do believe we are all seeing the same problem, the idle is 
not sleeping,  hopefully the same fix will work for everyone.

I will post here if Nate can come up with a patch to try.

Hope this helps!
Ken


> -- 
> GPG fingerprint = E738 5471 D185 7013 0EE0  4FC8 3C1D 6F83 12E1 84F6 
> (subkeys.pgp.net)
>
> "It won't fit on the line."
> -- me, 2001
>
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to 
> "freebsd-current-unsubscribe_at_freebsd.org"
> 
Received on Thu Dec 13 2007 - 02:00:57 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:24 UTC