diff options
author | tegge <tegge@FreeBSD.org> | 1998-03-03 20:09:14 +0000 |
---|---|---|
committer | tegge <tegge@FreeBSD.org> | 1998-03-03 20:09:14 +0000 |
commit | 9b0c9780e5a76a291874bbf8a8a3fb43d2fcd328 (patch) | |
tree | 4e63c7c00c9dd6bd63f46cf6bfe74972553bdcfa /sys/kern/subr_smp.c | |
parent | 282cfd7db9b41ac723f9824e8283c68cf34a80f7 (diff) | |
download | FreeBSD-src-9b0c9780e5a76a291874bbf8a8a3fb43d2fcd328.zip FreeBSD-src-9b0c9780e5a76a291874bbf8a8a3fb43d2fcd328.tar.gz |
Reduce timeout before assuming that forwarding of hardclock or softclock
failed. Don't complain on forwarding failure, unless
BETTER_CLOCK_DIAGNOSTIC is defined.
Diffstat (limited to 'sys/kern/subr_smp.c')
-rw-r--r-- | sys/kern/subr_smp.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c index d532bec..d059fa0 100644 --- a/sys/kern/subr_smp.c +++ b/sys/kern/subr_smp.c @@ -22,7 +22,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: mp_machdep.c,v 1.65 1998/02/09 06:08:13 eivind Exp $ + * $Id: mp_machdep.c,v 1.66 1998/03/01 04:18:50 dyson Exp $ */ #include "opt_smp.h" @@ -2280,12 +2280,14 @@ forward_statclock(int pscnt) checkstate_need_ast |= map; selected_apic_ipi(map, XCPUAST_OFFSET, APIC_DELMODE_FIXED); i = 0; - while (checkstate_need_ast != 0) { + while ((checkstate_need_ast & map) != 0) { /* spin */ i++; - if (i > 1000000) { + if (i > 100000) { +#ifdef BETTER_CLOCK_DIAGNOSTIC printf("forward_statclock: dropped ast 0x%x\n", - checkstate_need_ast); + checkstate_need_ast & map); +#endif break; } } @@ -2369,12 +2371,14 @@ forward_hardclock(int pscnt) checkstate_need_ast |= map; selected_apic_ipi(map, XCPUAST_OFFSET, APIC_DELMODE_FIXED); i = 0; - while (checkstate_need_ast != 0) { + while ((checkstate_need_ast & map) != 0) { /* spin */ i++; - if (i > 1000000) { + if (i > 100000) { +#ifdef BETTER_CLOCK_DIAGNOSTIC printf("forward_hardclock: dropped ast 0x%x\n", - checkstate_need_ast); + checkstate_need_ast & map); +#endif break; } } |