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