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 */
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Adeos-main mailing list [email protected] https://mail.gna.org/listinfo/adeos-main
