summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_smp.c
diff options
context:
space:
mode:
authortegge <tegge@FreeBSD.org>1998-03-03 20:09:14 +0000
committertegge <tegge@FreeBSD.org>1998-03-03 20:09:14 +0000
commit9b0c9780e5a76a291874bbf8a8a3fb43d2fcd328 (patch)
tree4e63c7c00c9dd6bd63f46cf6bfe74972553bdcfa /sys/kern/subr_smp.c
parent282cfd7db9b41ac723f9824e8283c68cf34a80f7 (diff)
downloadFreeBSD-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.c18
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;
}
}
OpenPOWER on IntegriCloud