Argh, what was I thinking?? Don't (yet) halt the CPU in the idle loop

while waiting for an interrupt (rather than spinning on the runqueue status
bits), since the other cpu can put stuff in there and the sleeping cpu may
not get an interrupt for a while.  When we have a reschedule IPI, this can
come back.

Pointed out by: fsmp
This commit is contained in:
peter 1997-09-05 17:54:07 +00:00
parent 088ca8113e
commit 494026a5bc
3 changed files with 9 additions and 3 deletions

View File

@ -33,7 +33,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: swtch.s,v 1.59 1997/08/09 00:02:47 dyson Exp $
* $Id: swtch.s,v 1.60 1997/08/26 18:10:33 peter Exp $
*/
#include "npx.h"
@ -384,7 +384,9 @@ idle_loop:
CROSSJUMPTARGET(_idle)
ENTRY(default_halt)
#ifndef SMP /* until we have a wakeup IPI */
hlt
#endif
ret
/*

View File

@ -33,7 +33,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: swtch.s,v 1.59 1997/08/09 00:02:47 dyson Exp $
* $Id: swtch.s,v 1.60 1997/08/26 18:10:33 peter Exp $
*/
#include "npx.h"
@ -384,7 +384,9 @@ idle_loop:
CROSSJUMPTARGET(_idle)
ENTRY(default_halt)
#ifndef SMP /* until we have a wakeup IPI */
hlt
#endif
ret
/*

View File

@ -33,7 +33,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: swtch.s,v 1.59 1997/08/09 00:02:47 dyson Exp $
* $Id: swtch.s,v 1.60 1997/08/26 18:10:33 peter Exp $
*/
#include "npx.h"
@ -384,7 +384,9 @@ idle_loop:
CROSSJUMPTARGET(_idle)
ENTRY(default_halt)
#ifndef SMP /* until we have a wakeup IPI */
hlt
#endif
ret
/*