[parisc-linux-cvs] Re: 2.4.18-pa50 more SMP fixups
Grant Grundler
grundler@dsl2.external.hp.com
Sun, 07 Jul 2002 00:28:20 -0600
Grant Grundler wrote:
> Log message:
> 2.4.18-pa50 SMP fixups
> o fix warnings in irq.c
> o added EXPORT_SYMBOL(smp_num_cpus)
> o remove irq_enter/exit() calls from smp_do_timer() since we
> already call those interfaces in do_irq(). thanks to richard
> for spotting this. "top" seems to report the right stuff now
> on dual A500.
FYI, I still have several more outstanding diffs but will submit
those to p-l mailing list for test/review.
grant
Index: Makefile
===================================================================
RCS file: /var/cvs/linux/Makefile,v
retrieving revision 1.320
diff -u -p -r1.320 Makefile
--- Makefile 2002/07/06 22:22:40 1.320
+++ Makefile 2002/07/07 06:18:21
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 18
-EXTRAVERSION = -pa49
+EXTRAVERSION = -pa50
KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
Index: arch/parisc/kernel/irq.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/irq.c,v
retrieving revision 1.56
diff -u -p -r1.56 irq.c
--- arch/parisc/kernel/irq.c 2002/05/28 06:12:16 1.56
+++ arch/parisc/kernel/irq.c 2002/07/07 06:18:21
@@ -62,7 +62,7 @@ static unsigned long cpu_eiem = 0;
static spinlock_t irq_lock = SPIN_LOCK_UNLOCKED; /* protect IRQ regions */
#ifdef CONFIG_SMP
-static cpu_set_eiem(void *info)
+static void cpu_set_eiem(void *info)
{
set_eiem((unsigned long) info);
}
Index: arch/parisc/kernel/parisc_ksyms.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/parisc_ksyms.c,v
retrieving revision 1.40
diff -u -p -r1.40 parisc_ksyms.c
--- arch/parisc/kernel/parisc_ksyms.c 2002/02/02 16:02:56 1.40
+++ arch/parisc/kernel/parisc_ksyms.c 2002/07/07 06:18:21
@@ -64,7 +64,10 @@ EXPORT_SYMBOL(__global_sti);
EXPORT_SYMBOL(__global_cli);
EXPORT_SYMBOL(__global_save_flags);
EXPORT_SYMBOL(__global_restore_flags);
-#endif
+
+#include <linux/smp.h>
+EXPORT_SYMBOL(smp_num_cpus);
+#endif /* CONFIG_SMP */
#include <asm/atomic.h>
EXPORT_SYMBOL(__xchg8);
Index: arch/parisc/kernel/smp.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/smp.c,v
retrieving revision 1.19
diff -u -p -r1.19 smp.c
--- arch/parisc/kernel/smp.c 2002/05/27 22:15:53 1.19
+++ arch/parisc/kernel/smp.c 2002/07/07 06:18:21
@@ -419,10 +419,8 @@ smp_do_timer(struct pt_regs *regs)
struct cpuinfo_parisc *data = &cpu_data[cpu];
if (!--data->prof_counter) {
- irq_enter(cpu, TIMER_IRQ);
- update_process_times(user_mode(regs));
data->prof_counter = data->prof_multiplier;
- irq_exit(cpu, TIMER_IRQ);
+ update_process_times(user_mode(regs));
}
}