From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Fri, 1 Jul 2011 16:00:26 +0200 From: Henning Schild To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Message-ID: <20110701160026.0db036cd@leffe.cs.bell-labs.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: [9fans] why not halt in x86 multicore Topicbox-Message-UUID: f8dcbd88-ead6-11e9-9d60-3106f5b1d025 Hi, in pc/main.c idlehands() the kernel decides to release the CPU only when you are not running a multicore kernel. As a result there is only busy waiting. Unfortunately there is no hint telling why we do not let the CPU rest a little. > void > idlehands(void) > { > if(conf.nmach == 1) > halt(); > } I am running a mostly idle plan9 VM on my laptop and it causes the battery to discharge in no time. Right now my kernel has the condition commented out and it seems to work fine. Still i would like to understand why this condition was put there. It is probably causing a lot of energy to be wasted which should better be for a good reason. Henning