DragonFly BSD
DragonFly kernel List (threaded) for 2003-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Laptop getting hot


From: YONETANI Tomokazu <qhwt+dragonfly-kernel@xxxxxxxxxx>
Date: Tue, 30 Dec 2003 14:51:33 +0900

On Mon, Dec 29, 2003 at 07:22:05PM -0800, Matthew Dillon wrote:
>     Ok, the problem should now be fixed.  I added some additional fluff
>     but the main fix is in kern/lwkt_thread.c and sys/globaldata.h. 
>     Basically what was happening was that reschedule requests, from the
>     clock interrupt, were setting the RQF_AST_RESCHED bit in gd_reqflags.
>     This bit is only cleared when a process is trying to return to usermode,
>     so if the machine was idle the bit was never getting cleared.
> 
>     This caused TDF_IDLE_NOHLT to always get set on the idle process, which
>     disabled the use of the HLT instruction.
> 
>     Should be fixed now.  The new check just checks for non-process request
>     flags (RQF_IPIQ and and RQF_INTPEND), plus I added some statistics 
>     counters to make future debugging easier, and I also clear the reschedule
>     request flag in chooseproc() (since there's no point leaving it set when
>     choosing a new process to schedule).

Thanks! Now my laptop PC is very quiet, and the cooling fan
only turns on ocasionally.



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