diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1998-03-17 22:05:47 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1998-03-17 22:05:47 +0000 |
commit | 27cfca1ec98e91261b1a5355d10a8996464b63af (patch) | |
tree | 8e895a53e372fa682b4c0a585b9377d67ed70d0e /include/linux/smp.h | |
parent | 6a76fb7214c477ccf6582bd79c5b4ccc4f9c41b1 (diff) |
Look Ma' what I found on my harddisk ...
o New faster syscalls for 2.1.x, too
o Upgrade to 2.1.89.
Don't try to run this. It's flaky as hell. But feel free to debug ...
Diffstat (limited to 'include/linux/smp.h')
-rw-r--r-- | include/linux/smp.h | 53 |
1 files changed, 32 insertions, 21 deletions
diff --git a/include/linux/smp.h b/include/linux/smp.h index ff4427960..1a8d71f58 100644 --- a/include/linux/smp.h +++ b/include/linux/smp.h @@ -8,36 +8,46 @@ #ifdef __SMP__ #include <asm/smp.h> - + +/* + * main IPI interface, handles INIT, TLB flush, STOP, etc.: + */ extern void smp_message_pass(int target, int msg, unsigned long data, int wait); -extern void smp_boot_cpus(void); /* Boot processor call to load the other CPU's */ -extern void smp_callin(void); /* Processor call in. Must hold processors until .. */ -extern void smp_commence(void); /* Multiprocessors may now schedule */ -extern int smp_num_cpus; -extern int smp_threads_ready; /* True once the per process idle is forked */ -#ifdef __SMP_PROF__ -extern volatile unsigned long smp_spins[NR_CPUS]; /* count of interrupt spins */ -extern volatile unsigned long smp_spins_sys_idle[]; /* count of idle spins */ -extern volatile unsigned long smp_spins_syscall[]; /* count of syscall spins */ -extern volatile unsigned long smp_spins_syscall_cur[]; /* count of syscall spins for the current - call */ -extern volatile unsigned long smp_idle_count[1+NR_CPUS];/* count idle ticks */ -extern volatile unsigned long smp_idle_map; /* map with idle cpus */ -#else -extern volatile unsigned long smp_spins; -#endif +/* + * Boot processor call to load the other CPU's + */ +extern void smp_boot_cpus(void); + +/* + * Processor call in. Must hold processors until .. + */ +extern void smp_callin(void); + +/* + * Multiprocessors may now schedule + */ +extern void smp_commence(void); + +/* + * True once the per process idle is forked + */ +extern int smp_threads_ready; + +extern int smp_num_cpus; extern volatile unsigned long smp_msg_data; extern volatile int smp_src_cpu; extern volatile int smp_msg_id; -#define MSG_ALL_BUT_SELF 0x8000 /* Assume <32768 CPU's */ +#define MSG_ALL_BUT_SELF 0x8000 /* Assume <32768 CPU's */ #define MSG_ALL 0x8001 -#define MSG_INVALIDATE_TLB 0x0001 /* Remote processor TLB invalidate */ -#define MSG_STOP_CPU 0x0002 /* Sent to shut down slave CPU's when rebooting */ -#define MSG_RESCHEDULE 0x0003 /* Reschedule request from master CPU */ +#define MSG_INVALIDATE_TLB 0x0001 /* Remote processor TLB invalidate */ +#define MSG_STOP_CPU 0x0002 /* Sent to shut down slave CPU's + * when rebooting + */ +#define MSG_RESCHEDULE 0x0003 /* Reschedule request from master CPU */ #else @@ -51,5 +61,6 @@ extern volatile int smp_msg_id; #define smp_message_pass(t,m,d,w) #define smp_threads_ready 1 #define kernel_lock() + #endif #endif |