Fix cpu_need_resched.

This commit is contained in:
ad 2007-11-19 19:01:19 +00:00
parent c60c05b2ef
commit 73f1f51cda

View File

@ -1,4 +1,4 @@
/* $NetBSD: machdep.c,v 1.300 2007/10/17 19:52:55 garbled Exp $ */
/* $NetBSD: machdep.c,v 1.301 2007/11/19 19:01:19 ad Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@ -75,7 +75,7 @@
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.300 2007/10/17 19:52:55 garbled Exp $");
__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.301 2007/11/19 19:01:19 ad Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -1998,9 +1998,9 @@ cpu_need_resched(struct cpu_info *ci, int flags)
bool immed = (flags & RESCHED_IMMED) != 0;
#endif /* defined(MULTIPROCESSOR) */
aston(ci->ci_data.cpu_onproc);
ci->ci_want_resched = 1;
if (ci->ci_curlwp != ci->ci_data.cpu_idlelwp) {
aston(ci->ci_curlwp);
if (ci->ci_data.cpu_onproc != ci->ci_data.cpu_idlelwp) {
#if defined(MULTIPROCESSOR)
if (immed && ci != curcpu()) {
alpha_send_ipi(ci->ci_cpuid, 0);