Laptop getting hot

YONETANI Tomokazu qhwt+dragonfly-kernel at les.ath.cx
Mon Dec 29 21:53:19 PST 2003


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.





More information about the Kernel mailing list