[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));
 	}
 }