Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Aug 2001 21:39:44 +0200
From:      Tor.Egge@fast.no
To:        bde@zeta.org.au
Cc:        mb@imp.ch, bkarp@icsi.berkeley.edu, kpielorz@tdx.co.uk, sthaug@nethelp.no, atrn@zeta.org.au, roberto@eurocontrol.fr, drussell@saturn-tech.com, phk@FreeBSD.ORG, Patrick.Guelat@imp.ch, freebsd-hackers@FreeBSD.ORG, freebsd-smp@FreeBSD.ORG
Subject:   Re: Clock speedup on 4.X FreeBSD SMP and serverworks chipset
Message-ID:  <200108311939.VAA35839@midten.fast.no>
In-Reply-To: Your message of "Sat, 1 Sep 2001 05:08:38 %2B1000 (EST)"
References:  <20010901044125.V5017-100000@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help

> I see (amost).
> 
> Please format the macro the same as the other macros in the file.

Index: apic_vector.s
===================================================================
RCS file: /home/ncvs/src/sys/i386/isa/apic_vector.s,v
retrieving revision 1.47.2.4
diff -u -r1.47.2.4 apic_vector.s
--- apic_vector.s	18 Jul 2000 21:12:41 -0000	1.47.2.4
+++ apic_vector.s	31 Aug 2001 19:24:24 -0000
@@ -653,7 +707,14 @@
 	FAST_INTR(21,fastintr21)
 	FAST_INTR(22,fastintr22)
 	FAST_INTR(23,fastintr23)
-#define	CLKINTR_PENDING	movl $1,CNAME(clkintr_pending)
+	
+#define	CLKINTR_PENDING							\
+	pushl $clock_lock;						\
+	call s_lock;							\
+	movl $1,CNAME(clkintr_pending);					\
+	call s_unlock;							\
+	addl $4, %esp
+
 	INTR(0,intr0, CLKINTR_PENDING)
 	INTR(1,intr1,)
 	INTR(2,intr2,)

> 
> > The corresponding patch for -current is
> 
> This does nothing for -current, because -current uses a fast interrupt
> handler for clkintr() and FAST_INTR() doesn't take a CLKINTR_PENDING
> arg.  I think this is another bug.

Adding a CLKINTR_PENDING arg to FAST_INTR() doesn't eliminate the race
where a wrong value is returned by i8254_get_timecount().

- Tor Egge

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200108311939.VAA35839>