From 3e7b141d013699dc1e7c839b2e98380f9470a63b Mon Sep 17 00:00:00 2001 From: kettenis Date: Mon, 21 Jul 2008 10:07:14 +0000 Subject: [PATCH] IPL_NONE doesn't really exist. The corresponding bit in the per-processor soft interrupt register is used for hardware clock-tick counter interrupts. So make smp_signotify() use IPL_SOFTINT instead such that we don't unintentionally trigger a spurious clock interrupt. This seems to fix the timekeeping anomalies on the t1k. tested by art@ --- sys/arch/sparc64/sparc64/ipifuncs.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/arch/sparc64/sparc64/ipifuncs.c b/sys/arch/sparc64/sparc64/ipifuncs.c index 90255dbe8b3..becf4316b7b 100644 --- a/sys/arch/sparc64/sparc64/ipifuncs.c +++ b/sys/arch/sparc64/sparc64/ipifuncs.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ipifuncs.c,v 1.10 2008/06/26 05:42:13 ray Exp $ */ +/* $OpenBSD: ipifuncs.c,v 1.11 2008/07/21 10:07:14 kettenis Exp $ */ /* $NetBSD: ipifuncs.c,v 1.8 2006/10/07 18:11:36 rjs Exp $ */ /*- @@ -241,7 +241,7 @@ smp_signotify(struct proc *p) return; if (CPU_ISSUN4V) - sun4v_send_ipi(ci->ci_itid, ipi_softint, 1 << IPL_NONE, 0UL); + sun4v_send_ipi(ci->ci_itid, ipi_softint, 1 << IPL_SOFTINT, 0); else - sun4u_send_ipi(ci->ci_itid, ipi_softint, 1 << IPL_NONE, 0UL); + sun4u_send_ipi(ci->ci_itid, ipi_softint, 1 << IPL_SOFTINT, 0); } -- 2.20.1