diff options
author | ups <ups@FreeBSD.org> | 2004-12-07 20:15:01 +0000 |
---|---|---|
committer | ups <ups@FreeBSD.org> | 2004-12-07 20:15:01 +0000 |
commit | 0e900aeba092127fe706b8a59228a711b7bd683b (patch) | |
tree | a75fb9b20179ad2db0eb2556245efafc59a0bd82 /sys/i386/include/smp.h | |
parent | e2f469b728b3ca90ab10d2794390412466d0c089 (diff) | |
download | FreeBSD-src-0e900aeba092127fe706b8a59228a711b7bd683b.zip FreeBSD-src-0e900aeba092127fe706b8a59228a711b7bd683b.tar.gz |
Avoid more than two pending IPI interrupt vectors per local APIC
as this may cause deadlocks.
This should fix kern/72123.
Discussed with: jhb
Tested by: Nik Azim Azam, Andy Farkas, Flack Man, Aykut KARA
Izzet BESKARDES, Jens Binnewies, Karl Keusgen
Approved by: sam (mentor)
Diffstat (limited to 'sys/i386/include/smp.h')
-rw-r--r-- | sys/i386/include/smp.h | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/sys/i386/include/smp.h b/sys/i386/include/smp.h index fe87fdf..eb6a635 100644 --- a/sys/i386/include/smp.h +++ b/sys/i386/include/smp.h @@ -55,9 +55,7 @@ inthand_t IDTVEC(invltlb), /* TLB shootdowns - global */ IDTVEC(invlpg), /* TLB shootdowns - 1 page */ IDTVEC(invlrng), /* TLB shootdowns - page range */ - IDTVEC(hardclock), /* Forward hardclock() */ - IDTVEC(statclock), /* Forward statclock() */ - IDTVEC(cpuast), /* Additional software trap on other cpu */ + IDTVEC(ipi_intr_bitmap_handler), /* Bitmap based IPIs */ IDTVEC(cpustop), /* CPU stops & waits to be restarted */ IDTVEC(rendezvous), /* handle CPU rendezvous */ IDTVEC(lazypmap); /* handle lazy pmap release */ @@ -70,9 +68,8 @@ void ipi_all(u_int ipi); void ipi_all_but_self(u_int ipi); void ipi_self(u_int ipi); void forward_statclock(void); -void forwarded_statclock(struct clockframe frame); void forward_hardclock(void); -void forwarded_hardclock(struct clockframe frame); +void ipi_bitmap_handler(struct clockframe frame); u_int mp_bootaddress(u_int); int mp_grab_cpu_hlt(void); void mp_topology(void); |