Philippe,

here are a few rebased cleanups from my patch stack you may want to
consider in parts or in all for the final 2.6.22 patch:

ipipe-janitorial.patch
refactor-ipipe_walk_pipeline.patch
cleanup-processor_id-i386.patch

More patches will be updated once I can alse rebase the lttng stuff
against 2.6.22.

Jan
---
 arch/i386/kernel/io_apic.c        |    1 +
 arch/i386/mach-generic/bigsmp.c   |    1 -
 arch/i386/mach-generic/default.c  |    1 -
 arch/i386/mach-generic/es7000.c   |    1 -
 arch/i386/mach-generic/summit.c   |    1 -
 arch/i386/mach-visws/visws_apic.c |    1 +
 include/linux/smp.h               |    2 --
 7 files changed, 2 insertions(+), 6 deletions(-)

Index: linux-2.6.22-ipipe/arch/i386/kernel/io_apic.c
===================================================================
--- linux-2.6.22-ipipe.orig/arch/i386/kernel/io_apic.c
+++ linux-2.6.22-ipipe/arch/i386/kernel/io_apic.c
@@ -2044,6 +2044,7 @@ static struct irq_chip ioapic_chip __rea
 	.retrigger	= ioapic_retrigger_irq,
 };
 
+
 static inline void init_IO_APIC_traps(void)
 {
 	int irq;
Index: linux-2.6.22-ipipe/arch/i386/mach-generic/bigsmp.c
===================================================================
--- linux-2.6.22-ipipe.orig/arch/i386/mach-generic/bigsmp.c
+++ linux-2.6.22-ipipe/arch/i386/mach-generic/bigsmp.c
@@ -14,7 +14,6 @@
 #include <linux/smp.h>
 #include <linux/init.h>
 #include <linux/dmi.h>
-#include <linux/ipipe.h>
 #include <asm/mach-bigsmp/mach_apic.h>
 #include <asm/mach-bigsmp/mach_apicdef.h>
 #include <asm/mach-bigsmp/mach_ipi.h>
Index: linux-2.6.22-ipipe/arch/i386/mach-generic/default.c
===================================================================
--- linux-2.6.22-ipipe.orig/arch/i386/mach-generic/default.c
+++ linux-2.6.22-ipipe/arch/i386/mach-generic/default.c
@@ -13,7 +13,6 @@
 #include <linux/string.h>
 #include <linux/smp.h>
 #include <linux/init.h>
-#include <linux/ipipe.h>
 #include <asm/mach-default/mach_apic.h>
 #include <asm/mach-default/mach_ipi.h>
 #include <asm/mach-default/mach_mpparse.h>
Index: linux-2.6.22-ipipe/arch/i386/mach-generic/es7000.c
===================================================================
--- linux-2.6.22-ipipe.orig/arch/i386/mach-generic/es7000.c
+++ linux-2.6.22-ipipe/arch/i386/mach-generic/es7000.c
@@ -13,7 +13,6 @@
 #include <linux/string.h>
 #include <linux/smp.h>
 #include <linux/init.h>
-#include <linux/ipipe.h>
 #include <asm/mach-es7000/mach_apicdef.h>
 #include <asm/mach-es7000/mach_apic.h>
 #include <asm/mach-es7000/mach_ipi.h>
Index: linux-2.6.22-ipipe/arch/i386/mach-generic/summit.c
===================================================================
--- linux-2.6.22-ipipe.orig/arch/i386/mach-generic/summit.c
+++ linux-2.6.22-ipipe/arch/i386/mach-generic/summit.c
@@ -13,7 +13,6 @@
 #include <linux/string.h>
 #include <linux/smp.h>
 #include <linux/init.h>
-#include <linux/ipipe.h>
 #include <asm/mach-summit/mach_apic.h>
 #include <asm/mach-summit/mach_apicdef.h>
 #include <asm/mach-summit/mach_ipi.h>
Index: linux-2.6.22-ipipe/arch/i386/mach-visws/visws_apic.c
===================================================================
--- linux-2.6.22-ipipe.orig/arch/i386/mach-visws/visws_apic.c
+++ linux-2.6.22-ipipe/arch/i386/mach-visws/visws_apic.c
@@ -131,6 +131,7 @@ static struct irq_chip cobalt_irq_type =
 	.end =		end_cobalt_irq,
 };
 
+
 /*
  * This is the PIIX4-based 8259 that is wired up indirectly to Cobalt
  * -- not the manner expected by the code in i8259.c.
Index: linux-2.6.22-ipipe/include/linux/smp.h
===================================================================
--- linux-2.6.22-ipipe.orig/include/linux/smp.h
+++ linux-2.6.22-ipipe/include/linux/smp.h
@@ -107,8 +107,6 @@ static inline int smp_call_function_sing
 
 #endif /* !SMP */
 
-#include <linux/ipipe_base.h>
-
 /*
  * smp_processor_id(): get the current CPU ID.
  *
---
 include/linux/ipipe.h |    2 +-
 kernel/ipipe/core.c   |   14 +++++++++-----
 2 files changed, 10 insertions(+), 6 deletions(-)

Index: linux-2.6.22-ipipe/include/linux/ipipe.h
===================================================================
--- linux-2.6.22-ipipe.orig/include/linux/ipipe.h
+++ linux-2.6.22-ipipe/include/linux/ipipe.h
@@ -261,7 +261,7 @@ void __ipipe_remove_domain_proc(struct i
 
 void __ipipe_flush_printk(unsigned irq, void *cookie);
 
-void fastcall __ipipe_walk_pipeline(struct list_head *pos, int cpuid);
+void __ipipe_walk_pipeline(struct list_head *pos);
 
 int fastcall __ipipe_schedule_irq(unsigned irq, struct list_head *head);
 
Index: linux-2.6.22-ipipe/kernel/ipipe/core.c
===================================================================
--- linux-2.6.22-ipipe.orig/kernel/ipipe/core.c
+++ linux-2.6.22-ipipe/kernel/ipipe/core.c
@@ -380,7 +380,7 @@ void fastcall ipipe_unstall_pipeline_fro
 	else
 		pos = __ipipe_pipeline.next;
 
-	__ipipe_walk_pipeline(pos, cpuid);
+	__ipipe_walk_pipeline(pos);
 
 	if (__ipipe_pipeline_head_p(ipd))
 		local_irq_enable_hw();
@@ -424,7 +424,7 @@ void ipipe_unstall_pipeline_head(void)
 		if (likely(head == per_cpu(ipipe_percpu_domain, cpuid)))
 			__ipipe_sync_pipeline(IPIPE_IRQMASK_ANY);
 		else
-			__ipipe_walk_pipeline(&head->p_link, cpuid);
+			__ipipe_walk_pipeline(&head->p_link);
         }
 
 	local_irq_enable_hw();
@@ -460,7 +460,7 @@ void fastcall __ipipe_restore_pipeline_h
 			if (likely(head == per_cpu(ipipe_percpu_domain, cpuid)))
 				__ipipe_sync_pipeline(IPIPE_IRQMASK_ANY);
 			else
-				__ipipe_walk_pipeline(&head->p_link, cpuid);
+				__ipipe_walk_pipeline(&head->p_link);
 		}
 		local_irq_enable_hw();
 	}
@@ -522,9 +522,13 @@ void fastcall __ipipe_spin_unlock_irqres
 /* __ipipe_walk_pipeline(): Plays interrupts pending in the log. Must
    be called with local hw interrupts disabled. */
 
-void fastcall __ipipe_walk_pipeline(struct list_head *pos, int cpuid)
+void __ipipe_walk_pipeline(struct list_head *pos)
 {
-	struct ipipe_domain *this_domain = per_cpu(ipipe_percpu_domain, cpuid);
+	struct ipipe_domain *this_domain;
+	ipipe_declare_cpuid;
+
+	ipipe_load_cpuid();
+	this_domain = per_cpu(ipipe_percpu_domain, cpuid);
 
 	while (pos != &__ipipe_pipeline) {
 		struct ipipe_domain *next_domain =
---
 arch/i386/kernel/ipipe.c   |    2 +-
 arch/i386/kernel/process.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Index: linux-2.6.22-ipipe/arch/i386/kernel/ipipe.c
===================================================================
--- linux-2.6.22-ipipe.orig/arch/i386/kernel/ipipe.c
+++ linux-2.6.22-ipipe/arch/i386/kernel/ipipe.c
@@ -814,7 +814,7 @@ finalize:
 	 * current domain in the pipeline.
 	 */
 
-	__ipipe_walk_pipeline(head, cpuid);
+	__ipipe_walk_pipeline(head);
 
 	ipipe_load_cpuid();
 
Index: linux-2.6.22-ipipe/arch/i386/kernel/process.c
===================================================================
--- linux-2.6.22-ipipe.orig/arch/i386/kernel/process.c
+++ linux-2.6.22-ipipe/arch/i386/kernel/process.c
@@ -644,7 +644,7 @@ struct task_struct fastcall * __switch_t
 {
 	struct thread_struct *prev = &prev_p->thread,
 				 *next = &next_p->thread;
-	int cpu = raw_smp_processor_id();
+	int cpu = smp_processor_id();
 	struct tss_struct *tss = &per_cpu(init_tss, cpu);
 
 	/* never put a printk in __switch_to... printk() calls wake_up*() indirectly */

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Adeos-main mailing list
[email protected]
https://mail.gna.org/listinfo/adeos-main

Reply via email to