diff options
author | tegge <tegge@FreeBSD.org> | 1998-05-17 22:12:14 +0000 |
---|---|---|
committer | tegge <tegge@FreeBSD.org> | 1998-05-17 22:12:14 +0000 |
commit | 4347025be3ee2eaf0c12f7838df60ccaad126267 (patch) | |
tree | 35c785e270e1950f43a8dd00138cc297f3c02026 /sys/i386/include/smp.h | |
parent | 902ca8e68b9388df5776d79f4fe4a9f26c7c8577 (diff) | |
download | FreeBSD-src-4347025be3ee2eaf0c12f7838df60ccaad126267.zip FreeBSD-src-4347025be3ee2eaf0c12f7838df60ccaad126267.tar.gz |
Add forwarding of roundrobin to other cpus. This gives a more regular
update of cpu usage as shown by top when one process is cpu bound
(no system calls) while the system is otherwise idle (except for top).
Don't attempt to switch to the BSP in boot(). If the system was idle when
an interrupt caused a panic, this won't work. Instead, switch to the BSP
in cpu_reset.
Remove some spurious forward_statclock/forward_hardclock warnings.
Diffstat (limited to 'sys/i386/include/smp.h')
-rw-r--r-- | sys/i386/include/smp.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/i386/include/smp.h b/sys/i386/include/smp.h index 283c925..f258630 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.41 1998/04/01 20:38:28 tegge Exp $ + * $Id: smp.h,v 1.42 1998/04/01 21:07:36 tegge Exp $ * */ @@ -80,6 +80,8 @@ extern volatile u_int started_cpus; extern volatile u_int checkstate_probed_cpus; extern volatile u_int checkstate_need_ast; +extern volatile u_int resched_cpus; +extern void (*cpustop_restartfunc) __P((void)); /* functions in apic_ipl.s */ void apic_eoi __P((void)); @@ -103,6 +105,7 @@ extern int io_num_to_apic_id[]; extern int apic_id_to_logical[]; extern u_int all_cpus; extern u_char SMP_ioapic[]; +extern struct pcb stoppcbs[]; /* functions in mp_machdep.c */ u_int mp_bootaddress __P((u_int)); @@ -131,6 +134,7 @@ void forward_statclock __P((int pscnt)); void forward_hardclock __P((int pscnt)); #endif /* BETTER_CLOCK */ void forward_signal __P((struct proc *)); +void forward_roundrobin __P((void)); #ifdef APIC_INTR_REORDER void set_lapic_isrloc __P((int, int)); #endif /* APIC_INTR_REORDER */ |