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 Wemm 1997-09-05 17:54:07 +00:00
parent a99f0e8211
commit bb36094c06
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
/*