summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/smp.h
diff options
context:
space:
mode:
authormsmith <msmith@FreeBSD.org>1999-07-20 06:52:35 +0000
committermsmith <msmith@FreeBSD.org>1999-07-20 06:52:35 +0000
commit84c939ef118a545b74e42d1ab9013ea9ba8b1b3f (patch)
treef285b114a76c38187b7d9910bdede9788d00ae9e /sys/i386/include/smp.h
parent905bcc118433dc6747bf9091a2bae04370334c34 (diff)
downloadFreeBSD-src-84c939ef118a545b74e42d1ab9013ea9ba8b1b3f.zip
FreeBSD-src-84c939ef118a545b74e42d1ab9013ea9ba8b1b3f.tar.gz
Implement an all-CPU shootdown-style rendezvous facility. This allows
the caller to specify a function to be guarded between an entry and exit barrier, as well as pre- and post-barrier functions. The primary use for this function is synchronised update of per-cpu private data. The implementation is almost (but not quite) MI; with a better mechanism for masking per-CPU interrupts it could probably be hoisted. Reviewed by: peter (partially)
Diffstat (limited to 'sys/i386/include/smp.h')
-rw-r--r--sys/i386/include/smp.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/i386/include/smp.h b/sys/i386/include/smp.h
index 3750c72..c425db6 100644
--- a/sys/i386/include/smp.h
+++ b/sys/i386/include/smp.h
@@ -6,7 +6,7 @@
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
* ----------------------------------------------------------------------------
*
- * $Id: smp.h,v 1.44 1998/09/06 22:41:40 tegge Exp $
+ * $Id: smp.h,v 1.45 1999/04/28 01:04:07 luoqi Exp $
*
*/
@@ -146,6 +146,11 @@ void forward_roundrobin __P((void));
#ifdef APIC_INTR_REORDER
void set_lapic_isrloc __P((int, int));
#endif /* APIC_INTR_REORDER */
+void smp_rendezvous_action __P((void));
+void smp_rendezvous __P((void (*)(void *),
+ void (*)(void *),
+ void (*)(void *),
+ void *arg));
/* global data in mpapic.c */
extern volatile lapic_t lapic;
OpenPOWER on IntegriCloud