public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [git-pull -tip] x86: cleanup patches 20090322
@ 2009-03-22 20:52 Jaswinder Singh Rajput
  2009-03-23  8:15 ` Rusty Russell
  0 siblings, 1 reply; 8+ messages in thread
From: Jaswinder Singh Rajput @ 2009-03-22 20:52 UTC (permalink / raw)
  To: Ingo Molnar, x86 maintainers, Rusty Russell, Sam Ravnborg,
	Yinghai Lu, LKML

The following changes since commit 7f00a2495bf5b98b097c47be5d6e2d4114ec39bf:
  Ingo Molnar (1):
        Merge branches 'x86/cleanups', 'x86/mm', 'x86/setup' and 'linus' into x86/core

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/linux-2.6-tiptop.git x86/core

Jaswinder Singh Rajput (5):
      x86: cpu/cpu.h cleanup
      x86: irq.c use same path for show_interrupts
      x86: irq.c keep CONFIG_X86_LOCAL_APIC interrupts together
      x86: apic/io_apic.c define msi_ir_chip and ir_ioapic_chip all the time
      x86: e820.h fix various signedness issues in setup.c and e820.c

 arch/x86/include/asm/e820.h    |    2 +-
 arch/x86/kernel/apic/io_apic.c |    9 ++++-----
 arch/x86/kernel/cpu/cpu.h      |   20 ++++++++++----------
 arch/x86/kernel/irq.c          |   23 ++++++-----------------
 4 files changed, 21 insertions(+), 33 deletions(-)

Complete diff:
diff --git a/arch/x86/include/asm/e820.h b/arch/x86/include/asm/e820.h
index 00d41ce..991ac17 100644
--- a/arch/x86/include/asm/e820.h
+++ b/arch/x86/include/asm/e820.h
@@ -57,7 +57,7 @@ struct e820entry {
 } __attribute__((packed));
 
 struct e820map {
-	__u32 nr_map;
+	__s32 nr_map;
 	struct e820entry map[E820_X_MAX];
 };
 
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 42cdc78..d36e3d8 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -1428,7 +1428,6 @@ void __setup_vector_irq(int cpu)
 
 static struct irq_chip ioapic_chip;
 static struct irq_chip ir_ioapic_chip;
-static struct irq_chip msi_ir_chip;
 
 #define IOAPIC_AUTO     -1
 #define IOAPIC_EDGE     0
@@ -2663,20 +2662,20 @@ static struct irq_chip ioapic_chip __read_mostly = {
 	.retrigger	= ioapic_retrigger_irq,
 };
 
-#ifdef CONFIG_INTR_REMAP
 static struct irq_chip ir_ioapic_chip __read_mostly = {
 	.name		= "IR-IO-APIC",
 	.startup	= startup_ioapic_irq,
 	.mask		= mask_IO_APIC_irq,
 	.unmask		= unmask_IO_APIC_irq,
+#ifdef CONFIG_INTR_REMAP
 	.ack		= ack_x2apic_edge,
 	.eoi		= ack_x2apic_level,
 #ifdef CONFIG_SMP
 	.set_affinity	= set_ir_ioapic_affinity_irq,
 #endif
+#endif
 	.retrigger	= ioapic_retrigger_irq,
 };
-#endif
 
 static inline void init_IO_APIC_traps(void)
 {
@@ -3391,18 +3390,18 @@ static struct irq_chip msi_chip = {
 	.retrigger	= ioapic_retrigger_irq,
 };
 
-#ifdef CONFIG_INTR_REMAP
 static struct irq_chip msi_ir_chip = {
 	.name		= "IR-PCI-MSI",
 	.unmask		= unmask_msi_irq,
 	.mask		= mask_msi_irq,
+#ifdef CONFIG_INTR_REMAP
 	.ack		= ack_x2apic_edge,
 #ifdef CONFIG_SMP
 	.set_affinity	= ir_set_msi_irq_affinity,
 #endif
+#endif
 	.retrigger	= ioapic_retrigger_irq,
 };
-#endif
 
 /*
  * Map the PCI dev to the corresponding remapping hardware unit
diff --git a/arch/x86/kernel/cpu/cpu.h b/arch/x86/kernel/cpu/cpu.h
index 9469ecb..6de9a90 100644
--- a/arch/x86/kernel/cpu/cpu.h
+++ b/arch/x86/kernel/cpu/cpu.h
@@ -3,25 +3,25 @@
 #define ARCH_X86_CPU_H
 
 struct cpu_model_info {
-	int vendor;
-	int family;
-	const char *model_names[16];
+	int		vendor;
+	int		family;
+	const char	*model_names[16];
 };
 
 /* attempt to consolidate cpu attributes */
 struct cpu_dev {
-	const char	* c_vendor;
+	const char	*c_vendor;
 
 	/* some have two possibilities for cpuid string */
-	const char	* c_ident[2];
+	const char	*c_ident[2];
 
 	struct		cpu_model_info c_models[4];
 
-	void            (*c_early_init)(struct cpuinfo_x86 *c);
-	void		(*c_init)(struct cpuinfo_x86 * c);
-	void		(*c_identify)(struct cpuinfo_x86 * c);
-	unsigned int	(*c_size_cache)(struct cpuinfo_x86 * c, unsigned int size);
-	int	c_x86_vendor;
+	void            (*c_early_init)(struct cpuinfo_x86 *);
+	void		(*c_init)(struct cpuinfo_x86 *);
+	void		(*c_identify)(struct cpuinfo_x86 *);
+	unsigned int	(*c_size_cache)(struct cpuinfo_x86 *, unsigned int);
+	int		c_x86_vendor;
 };
 
 #define cpu_dev_register(cpu_devX) \
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c
index b8ac3b6..3aaf7b9 100644
--- a/arch/x86/kernel/irq.c
+++ b/arch/x86/kernel/irq.c
@@ -58,6 +58,11 @@ static int show_other_interrupts(struct seq_file *p, int prec)
 	for_each_online_cpu(j)
 		seq_printf(p, "%10u ", irq_stats(j)->apic_timer_irqs);
 	seq_printf(p, "  Local timer interrupts\n");
+
+	seq_printf(p, "%*s: ", prec, "SPU");
+	for_each_online_cpu(j)
+		seq_printf(p, "%10u ", irq_stats(j)->irq_spurious_count);
+	seq_printf(p, "  Spurious interrupts\n");
 #endif
 	if (generic_interrupt_extension) {
 		seq_printf(p, "PLT: ");
@@ -91,12 +96,6 @@ static int show_other_interrupts(struct seq_file *p, int prec)
 	seq_printf(p, "  Threshold APIC interrupts\n");
 # endif
 #endif
-#ifdef CONFIG_X86_LOCAL_APIC
-	seq_printf(p, "%*s: ", prec, "SPU");
-	for_each_online_cpu(j)
-		seq_printf(p, "%10u ", irq_stats(j)->irq_spurious_count);
-	seq_printf(p, "  Spurious interrupts\n");
-#endif
 	seq_printf(p, "%*s: %10u\n", prec, "ERR", atomic_read(&irq_err_count));
 #if defined(CONFIG_X86_IO_APIC)
 	seq_printf(p, "%*s: %10u\n", prec, "MIS", atomic_read(&irq_mis_count));
@@ -133,23 +132,15 @@ int show_interrupts(struct seq_file *p, void *v)
 		return 0;
 
 	spin_lock_irqsave(&desc->lock, flags);
-#ifndef CONFIG_SMP
-	any_count = kstat_irqs(i);
-#else
 	for_each_online_cpu(j)
 		any_count |= kstat_irqs_cpu(i, j);
-#endif
 	action = desc->action;
 	if (!action && !any_count)
 		goto out;
 
 	seq_printf(p, "%*d: ", prec, i);
-#ifndef CONFIG_SMP
-	seq_printf(p, "%10u ", kstat_irqs(i));
-#else
 	for_each_online_cpu(j)
 		seq_printf(p, "%10u ", kstat_irqs_cpu(i, j));
-#endif
 	seq_printf(p, " %8s", desc->chip->name);
 	seq_printf(p, "-%-8s", desc->name);
 
@@ -174,6 +165,7 @@ u64 arch_irq_stat_cpu(unsigned int cpu)
 
 #ifdef CONFIG_X86_LOCAL_APIC
 	sum += irq_stats(cpu)->apic_timer_irqs;
+	sum += irq_stats(cpu)->irq_spurious_count;
 #endif
 	if (generic_interrupt_extension)
 		sum += irq_stats(cpu)->generic_irqs;
@@ -188,9 +180,6 @@ u64 arch_irq_stat_cpu(unsigned int cpu)
 	sum += irq_stats(cpu)->irq_threshold_count;
 #endif
 #endif
-#ifdef CONFIG_X86_LOCAL_APIC
-	sum += irq_stats(cpu)->irq_spurious_count;
-#endif
 	return sum;
 }
 



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [git-pull -tip] x86: cleanup patches 20090322
  2009-03-22 20:52 [git-pull -tip] x86: cleanup patches 20090322 Jaswinder Singh Rajput
@ 2009-03-23  8:15 ` Rusty Russell
  2009-03-23  9:45   ` Jaswinder Singh Rajput
  2009-03-23 10:07   ` Jaswinder Singh Rajput
  0 siblings, 2 replies; 8+ messages in thread
From: Rusty Russell @ 2009-03-23  8:15 UTC (permalink / raw)
  To: Jaswinder Singh Rajput
  Cc: Ingo Molnar, x86 maintainers, Sam Ravnborg, Yinghai Lu, LKML

On Monday 23 March 2009 07:22:56 Jaswinder Singh Rajput wrote:
>       x86: e820.h fix various signedness issues in setup.c and e820.c

Wouldn't fixing the users be better than changing the header?  Esp. since
it could well now cause similar warnings in userspace programs.

>  struct e820map {
> -	__u32 nr_map;
> +	__s32 nr_map;
>  	struct e820entry map[E820_X_MAX];
>  };

This number can't be negative!

Cheers,
Rusty.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [git-pull -tip] x86: cleanup patches 20090322
  2009-03-23  8:15 ` Rusty Russell
@ 2009-03-23  9:45   ` Jaswinder Singh Rajput
  2009-03-23 10:35     ` Hannes Eder
  2009-03-23 21:10     ` Rusty Russell
  2009-03-23 10:07   ` Jaswinder Singh Rajput
  1 sibling, 2 replies; 8+ messages in thread
From: Jaswinder Singh Rajput @ 2009-03-23  9:45 UTC (permalink / raw)
  To: Rusty Russell
  Cc: Ingo Molnar, x86 maintainers, Sam Ravnborg, Yinghai Lu, LKML

On Mon, 2009-03-23 at 18:45 +1030, Rusty Russell wrote:
> On Monday 23 March 2009 07:22:56 Jaswinder Singh Rajput wrote:
> >       x86: e820.h fix various signedness issues in setup.c and e820.c
> 
> Wouldn't fixing the users be better than changing the header?  Esp. since
> it could well now cause similar warnings in userspace programs.
> 
> >  struct e820map {
> > -	__u32 nr_map;
> > +	__s32 nr_map;
> >  	struct e820entry map[E820_X_MAX];
> >  };
> 
> This number can't be negative!
> 

Is this OK, or should I go more further:

From: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
Date: Mon, 23 Mar 2009 02:13:01 +0530
Subject: [PATCH] x86: e820 fix various signedness issues in setup.c and e820.c

Impact: cleanup

This fixed various signedness issues in setup.c and e820.c:
arch/x86/kernel/setup.c:455:53: warning: incorrect type in argument 3 (different signedness)
arch/x86/kernel/setup.c:455:53:    expected int *pnr_map
arch/x86/kernel/setup.c:455:53:    got unsigned int extern [toplevel] *<noident>
arch/x86/kernel/setup.c:639:53: warning: incorrect type in argument 3 (different signedness)
arch/x86/kernel/setup.c:639:53:    expected int *pnr_map
arch/x86/kernel/setup.c:639:53:    got unsigned int extern [toplevel] *<noident>
arch/x86/kernel/setup.c:820:54: warning: incorrect type in argument 3 (different signedness)
arch/x86/kernel/setup.c:820:54:    expected int *pnr_map
arch/x86/kernel/setup.c:820:54:    got unsigned int extern [toplevel] *<noident>

arch/x86/kernel/e820.c:670:53: warning: incorrect type in argument 3 (different signedness)
arch/x86/kernel/e820.c:670:53:    expected int *pnr_map
arch/x86/kernel/e820.c:670:53:    got unsigned int [toplevel] *<noident>

Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
---
 arch/x86/include/asm/e820.h |    2 +-
 arch/x86/kernel/e820.c      |   10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/x86/include/asm/e820.h b/arch/x86/include/asm/e820.h
index 00d41ce..7ecba4d 100644
--- a/arch/x86/include/asm/e820.h
+++ b/arch/x86/include/asm/e820.h
@@ -72,7 +72,7 @@ extern int e820_all_mapped(u64 start, u64 end, unsigned type);
 extern void e820_add_region(u64 start, u64 size, int type);
 extern void e820_print_map(char *who);
 extern int
-sanitize_e820_map(struct e820entry *biosmap, int max_nr_map, int *pnr_map);
+sanitize_e820_map(struct e820entry *biosmap, int max_nr_map, u32 *pnr_map);
 extern u64 e820_update_range(u64 start, u64 size, unsigned old_type,
 			       unsigned new_type);
 extern u64 e820_remove_range(u64 start, u64 size, unsigned old_type,
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index fb638d9..ef2c356 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -233,7 +233,7 @@ void __init e820_print_map(char *who)
  */
 
 int __init sanitize_e820_map(struct e820entry *biosmap, int max_nr_map,
-				int *pnr_map)
+			     u32 *pnr_map)
 {
 	struct change_member {
 		struct e820entry *pbios; /* pointer to original bios entry */
@@ -552,7 +552,7 @@ u64 __init e820_remove_range(u64 start, u64 size, unsigned old_type,
 
 void __init update_e820(void)
 {
-	int nr_map;
+	u32 nr_map;
 
 	nr_map = e820.nr_map;
 	if (sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &nr_map))
@@ -563,7 +563,7 @@ void __init update_e820(void)
 }
 static void __init update_e820_saved(void)
 {
-	int nr_map;
+	u32 nr_map;
 
 	nr_map = e820_saved.nr_map;
 	if (sanitize_e820_map(e820_saved.map, ARRAY_SIZE(e820_saved.map), &nr_map))
@@ -1303,7 +1303,7 @@ early_param("memmap", parse_memmap_opt);
 void __init finish_e820_parsing(void)
 {
 	if (userdef) {
-		int nr = e820.nr_map;
+		u32 nr = e820.nr_map;
 
 		if (sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &nr) < 0)
 			early_panic("Invalid user supplied memory map");
@@ -1386,7 +1386,7 @@ void __init e820_reserve_resources_late(void)
 char *__init default_machine_specific_memory_setup(void)
 {
 	char *who = "BIOS-e820";
-	int new_nr;
+	u32 new_nr;
 	/*
 	 * Try to copy the BIOS-supplied E820-map.
 	 *
-- 
1.6.0.6




^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [git-pull -tip] x86: cleanup patches 20090322
  2009-03-23  8:15 ` Rusty Russell
  2009-03-23  9:45   ` Jaswinder Singh Rajput
@ 2009-03-23 10:07   ` Jaswinder Singh Rajput
  1 sibling, 0 replies; 8+ messages in thread
From: Jaswinder Singh Rajput @ 2009-03-23 10:07 UTC (permalink / raw)
  To: Rusty Russell
  Cc: Ingo Molnar, x86 maintainers, Sam Ravnborg, Yinghai Lu, LKML

On Mon, 2009-03-23 at 18:45 +1030, Rusty Russell wrote:
> On Monday 23 March 2009 07:22:56 Jaswinder Singh Rajput wrote:
> >       x86: e820.h fix various signedness issues in setup.c and e820.c
> 
> Wouldn't fixing the users be better than changing the header?  Esp. since
> it could well now cause similar warnings in userspace programs.
> 
> >  struct e820map {
> > -	__u32 nr_map;
> > +	__s32 nr_map;
> >  	struct e820entry map[E820_X_MAX];
> >  };
> 
> This number can't be negative!
> 

Here is new pull request:
The following changes since commit 7f00a2495bf5b98b097c47be5d6e2d4114ec39bf:
  Ingo Molnar (1):
        Merge branches 'x86/cleanups', 'x86/mm', 'x86/setup' and 'linus' into x86/core

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/linux-2.6-tiptop.git x86/core

Jaswinder Singh Rajput (5):
      x86: cpu/cpu.h cleanup
      x86: irq.c use same path for show_interrupts
      x86: irq.c keep CONFIG_X86_LOCAL_APIC interrupts together
      x86: apic/io_apic.c define msi_ir_chip and ir_ioapic_chip all the time
      x86: e820 fix various signedness issues in setup.c and e820.c

 arch/x86/include/asm/e820.h    |    2 +-
 arch/x86/kernel/apic/io_apic.c |    9 ++++-----
 arch/x86/kernel/cpu/cpu.h      |   20 ++++++++++----------
 arch/x86/kernel/e820.c         |   10 +++++-----
 arch/x86/kernel/irq.c          |   23 ++++++-----------------
 5 files changed, 26 insertions(+), 38 deletions(-)

Complete diff:
diff --git a/arch/x86/include/asm/e820.h b/arch/x86/include/asm/e820.h
index 00d41ce..7ecba4d 100644
--- a/arch/x86/include/asm/e820.h
+++ b/arch/x86/include/asm/e820.h
@@ -72,7 +72,7 @@ extern int e820_all_mapped(u64 start, u64 end, unsigned type);
 extern void e820_add_region(u64 start, u64 size, int type);
 extern void e820_print_map(char *who);
 extern int
-sanitize_e820_map(struct e820entry *biosmap, int max_nr_map, int *pnr_map);
+sanitize_e820_map(struct e820entry *biosmap, int max_nr_map, u32 *pnr_map);
 extern u64 e820_update_range(u64 start, u64 size, unsigned old_type,
 			       unsigned new_type);
 extern u64 e820_remove_range(u64 start, u64 size, unsigned old_type,
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 42cdc78..d36e3d8 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -1428,7 +1428,6 @@ void __setup_vector_irq(int cpu)
 
 static struct irq_chip ioapic_chip;
 static struct irq_chip ir_ioapic_chip;
-static struct irq_chip msi_ir_chip;
 
 #define IOAPIC_AUTO     -1
 #define IOAPIC_EDGE     0
@@ -2663,20 +2662,20 @@ static struct irq_chip ioapic_chip __read_mostly = {
 	.retrigger	= ioapic_retrigger_irq,
 };
 
-#ifdef CONFIG_INTR_REMAP
 static struct irq_chip ir_ioapic_chip __read_mostly = {
 	.name		= "IR-IO-APIC",
 	.startup	= startup_ioapic_irq,
 	.mask		= mask_IO_APIC_irq,
 	.unmask		= unmask_IO_APIC_irq,
+#ifdef CONFIG_INTR_REMAP
 	.ack		= ack_x2apic_edge,
 	.eoi		= ack_x2apic_level,
 #ifdef CONFIG_SMP
 	.set_affinity	= set_ir_ioapic_affinity_irq,
 #endif
+#endif
 	.retrigger	= ioapic_retrigger_irq,
 };
-#endif
 
 static inline void init_IO_APIC_traps(void)
 {
@@ -3391,18 +3390,18 @@ static struct irq_chip msi_chip = {
 	.retrigger	= ioapic_retrigger_irq,
 };
 
-#ifdef CONFIG_INTR_REMAP
 static struct irq_chip msi_ir_chip = {
 	.name		= "IR-PCI-MSI",
 	.unmask		= unmask_msi_irq,
 	.mask		= mask_msi_irq,
+#ifdef CONFIG_INTR_REMAP
 	.ack		= ack_x2apic_edge,
 #ifdef CONFIG_SMP
 	.set_affinity	= ir_set_msi_irq_affinity,
 #endif
+#endif
 	.retrigger	= ioapic_retrigger_irq,
 };
-#endif
 
 /*
  * Map the PCI dev to the corresponding remapping hardware unit
diff --git a/arch/x86/kernel/cpu/cpu.h b/arch/x86/kernel/cpu/cpu.h
index 9469ecb..6de9a90 100644
--- a/arch/x86/kernel/cpu/cpu.h
+++ b/arch/x86/kernel/cpu/cpu.h
@@ -3,25 +3,25 @@
 #define ARCH_X86_CPU_H
 
 struct cpu_model_info {
-	int vendor;
-	int family;
-	const char *model_names[16];
+	int		vendor;
+	int		family;
+	const char	*model_names[16];
 };
 
 /* attempt to consolidate cpu attributes */
 struct cpu_dev {
-	const char	* c_vendor;
+	const char	*c_vendor;
 
 	/* some have two possibilities for cpuid string */
-	const char	* c_ident[2];
+	const char	*c_ident[2];
 
 	struct		cpu_model_info c_models[4];
 
-	void            (*c_early_init)(struct cpuinfo_x86 *c);
-	void		(*c_init)(struct cpuinfo_x86 * c);
-	void		(*c_identify)(struct cpuinfo_x86 * c);
-	unsigned int	(*c_size_cache)(struct cpuinfo_x86 * c, unsigned int size);
-	int	c_x86_vendor;
+	void            (*c_early_init)(struct cpuinfo_x86 *);
+	void		(*c_init)(struct cpuinfo_x86 *);
+	void		(*c_identify)(struct cpuinfo_x86 *);
+	unsigned int	(*c_size_cache)(struct cpuinfo_x86 *, unsigned int);
+	int		c_x86_vendor;
 };
 
 #define cpu_dev_register(cpu_devX) \
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index fb638d9..ef2c356 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -233,7 +233,7 @@ void __init e820_print_map(char *who)
  */
 
 int __init sanitize_e820_map(struct e820entry *biosmap, int max_nr_map,
-				int *pnr_map)
+			     u32 *pnr_map)
 {
 	struct change_member {
 		struct e820entry *pbios; /* pointer to original bios entry */
@@ -552,7 +552,7 @@ u64 __init e820_remove_range(u64 start, u64 size, unsigned old_type,
 
 void __init update_e820(void)
 {
-	int nr_map;
+	u32 nr_map;
 
 	nr_map = e820.nr_map;
 	if (sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &nr_map))
@@ -563,7 +563,7 @@ void __init update_e820(void)
 }
 static void __init update_e820_saved(void)
 {
-	int nr_map;
+	u32 nr_map;
 
 	nr_map = e820_saved.nr_map;
 	if (sanitize_e820_map(e820_saved.map, ARRAY_SIZE(e820_saved.map), &nr_map))
@@ -1303,7 +1303,7 @@ early_param("memmap", parse_memmap_opt);
 void __init finish_e820_parsing(void)
 {
 	if (userdef) {
-		int nr = e820.nr_map;
+		u32 nr = e820.nr_map;
 
 		if (sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &nr) < 0)
 			early_panic("Invalid user supplied memory map");
@@ -1386,7 +1386,7 @@ void __init e820_reserve_resources_late(void)
 char *__init default_machine_specific_memory_setup(void)
 {
 	char *who = "BIOS-e820";
-	int new_nr;
+	u32 new_nr;
 	/*
 	 * Try to copy the BIOS-supplied E820-map.
 	 *
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c
index b8ac3b6..3aaf7b9 100644
--- a/arch/x86/kernel/irq.c
+++ b/arch/x86/kernel/irq.c
@@ -58,6 +58,11 @@ static int show_other_interrupts(struct seq_file *p, int prec)
 	for_each_online_cpu(j)
 		seq_printf(p, "%10u ", irq_stats(j)->apic_timer_irqs);
 	seq_printf(p, "  Local timer interrupts\n");
+
+	seq_printf(p, "%*s: ", prec, "SPU");
+	for_each_online_cpu(j)
+		seq_printf(p, "%10u ", irq_stats(j)->irq_spurious_count);
+	seq_printf(p, "  Spurious interrupts\n");
 #endif
 	if (generic_interrupt_extension) {
 		seq_printf(p, "PLT: ");
@@ -91,12 +96,6 @@ static int show_other_interrupts(struct seq_file *p, int prec)
 	seq_printf(p, "  Threshold APIC interrupts\n");
 # endif
 #endif
-#ifdef CONFIG_X86_LOCAL_APIC
-	seq_printf(p, "%*s: ", prec, "SPU");
-	for_each_online_cpu(j)
-		seq_printf(p, "%10u ", irq_stats(j)->irq_spurious_count);
-	seq_printf(p, "  Spurious interrupts\n");
-#endif
 	seq_printf(p, "%*s: %10u\n", prec, "ERR", atomic_read(&irq_err_count));
 #if defined(CONFIG_X86_IO_APIC)
 	seq_printf(p, "%*s: %10u\n", prec, "MIS", atomic_read(&irq_mis_count));
@@ -133,23 +132,15 @@ int show_interrupts(struct seq_file *p, void *v)
 		return 0;
 
 	spin_lock_irqsave(&desc->lock, flags);
-#ifndef CONFIG_SMP
-	any_count = kstat_irqs(i);
-#else
 	for_each_online_cpu(j)
 		any_count |= kstat_irqs_cpu(i, j);
-#endif
 	action = desc->action;
 	if (!action && !any_count)
 		goto out;
 
 	seq_printf(p, "%*d: ", prec, i);
-#ifndef CONFIG_SMP
-	seq_printf(p, "%10u ", kstat_irqs(i));
-#else
 	for_each_online_cpu(j)
 		seq_printf(p, "%10u ", kstat_irqs_cpu(i, j));
-#endif
 	seq_printf(p, " %8s", desc->chip->name);
 	seq_printf(p, "-%-8s", desc->name);
 
@@ -174,6 +165,7 @@ u64 arch_irq_stat_cpu(unsigned int cpu)
 
 #ifdef CONFIG_X86_LOCAL_APIC
 	sum += irq_stats(cpu)->apic_timer_irqs;
+	sum += irq_stats(cpu)->irq_spurious_count;
 #endif
 	if (generic_interrupt_extension)
 		sum += irq_stats(cpu)->generic_irqs;
@@ -188,9 +180,6 @@ u64 arch_irq_stat_cpu(unsigned int cpu)
 	sum += irq_stats(cpu)->irq_threshold_count;
 #endif
 #endif
-#ifdef CONFIG_X86_LOCAL_APIC
-	sum += irq_stats(cpu)->irq_spurious_count;
-#endif
 	return sum;
 }
 



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [git-pull -tip] x86: cleanup patches 20090322
  2009-03-23  9:45   ` Jaswinder Singh Rajput
@ 2009-03-23 10:35     ` Hannes Eder
  2009-03-23 10:52       ` Jaswinder Singh Rajput
  2009-03-23 21:10     ` Rusty Russell
  1 sibling, 1 reply; 8+ messages in thread
From: Hannes Eder @ 2009-03-23 10:35 UTC (permalink / raw)
  To: Jaswinder Singh Rajput
  Cc: Rusty Russell, Ingo Molnar, x86 maintainers, Sam Ravnborg,
	Yinghai Lu, LKML

On Mon, Mar 23, 2009 at 10:45 AM, Jaswinder Singh Rajput
<jaswinder@kernel.org> wrote:
> On Mon, 2009-03-23 at 18:45 +1030, Rusty Russell wrote:
>> On Monday 23 March 2009 07:22:56 Jaswinder Singh Rajput wrote:
>> >       x86: e820.h fix various signedness issues in setup.c and e820.c
>>
>> Wouldn't fixing the users be better than changing the header?  Esp. since
>> it could well now cause similar warnings in userspace programs.
>>
>> >  struct e820map {
>> > -   __u32 nr_map;
>> > +   __s32 nr_map;
>> >     struct e820entry map[E820_X_MAX];
>> >  };
>>
>> This number can't be negative!
>>
>
> Is this OK, or should I go more further:

since sanitize_e820_map does only modify its third argument on
success, and leaves it untouched on error, the temporary variable
could be eliminated in some places.

> From: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
> Date: Mon, 23 Mar 2009 02:13:01 +0530
> Subject: [PATCH] x86: e820 fix various signedness issues in setup.c and e820.c
>
> Impact: cleanup
>
> This fixed various signedness issues in setup.c and e820.c:
> arch/x86/kernel/setup.c:455:53: warning: incorrect type in argument 3 (different signedness)
> arch/x86/kernel/setup.c:455:53:    expected int *pnr_map
> arch/x86/kernel/setup.c:455:53:    got unsigned int extern [toplevel] *<noident>
> arch/x86/kernel/setup.c:639:53: warning: incorrect type in argument 3 (different signedness)
> arch/x86/kernel/setup.c:639:53:    expected int *pnr_map
> arch/x86/kernel/setup.c:639:53:    got unsigned int extern [toplevel] *<noident>
> arch/x86/kernel/setup.c:820:54: warning: incorrect type in argument 3 (different signedness)
> arch/x86/kernel/setup.c:820:54:    expected int *pnr_map
> arch/x86/kernel/setup.c:820:54:    got unsigned int extern [toplevel] *<noident>
>
> arch/x86/kernel/e820.c:670:53: warning: incorrect type in argument 3 (different signedness)
> arch/x86/kernel/e820.c:670:53:    expected int *pnr_map
> arch/x86/kernel/e820.c:670:53:    got unsigned int [toplevel] *<noident>
>
> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
> ---
>  arch/x86/include/asm/e820.h |    2 +-
>  arch/x86/kernel/e820.c      |   10 +++++-----
>  2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/arch/x86/include/asm/e820.h b/arch/x86/include/asm/e820.h
> index 00d41ce..7ecba4d 100644
> --- a/arch/x86/include/asm/e820.h
> +++ b/arch/x86/include/asm/e820.h
> @@ -72,7 +72,7 @@ extern int e820_all_mapped(u64 start, u64 end, unsigned type);
>  extern void e820_add_region(u64 start, u64 size, int type);
>  extern void e820_print_map(char *who);
>  extern int
> -sanitize_e820_map(struct e820entry *biosmap, int max_nr_map, int *pnr_map);
> +sanitize_e820_map(struct e820entry *biosmap, int max_nr_map, u32 *pnr_map);
>  extern u64 e820_update_range(u64 start, u64 size, unsigned old_type,
>                               unsigned new_type);
>  extern u64 e820_remove_range(u64 start, u64 size, unsigned old_type,
> diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
> index fb638d9..ef2c356 100644
> --- a/arch/x86/kernel/e820.c
> +++ b/arch/x86/kernel/e820.c
> @@ -233,7 +233,7 @@ void __init e820_print_map(char *who)
>  */
>
>  int __init sanitize_e820_map(struct e820entry *biosmap, int max_nr_map,
> -                               int *pnr_map)
> +                            u32 *pnr_map)
>  {
>        struct change_member {
>                struct e820entry *pbios; /* pointer to original bios entry */
> @@ -552,7 +552,7 @@ u64 __init e820_remove_range(u64 start, u64 size, unsigned old_type,
>
>  void __init update_e820(void)
>  {
> -       int nr_map;
> +       u32 nr_map;
>
>        nr_map = e820.nr_map;
>        if (sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &nr_map))
> @@ -563,7 +563,7 @@ void __init update_e820(void)
>  }
>  static void __init update_e820_saved(void)
>  {
> -       int nr_map;
> +       u32 nr_map;
>
>        nr_map = e820_saved.nr_map;
>        if (sanitize_e820_map(e820_saved.map, ARRAY_SIZE(e820_saved.map), &nr_map))
> @@ -1303,7 +1303,7 @@ early_param("memmap", parse_memmap_opt);
>  void __init finish_e820_parsing(void)
>  {
>        if (userdef) {
> -               int nr = e820.nr_map;
> +               u32 nr = e820.nr_map;
>
>                if (sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &nr) < 0)
>                        early_panic("Invalid user supplied memory map");
> @@ -1386,7 +1386,7 @@ void __init e820_reserve_resources_late(void)
>  char *__init default_machine_specific_memory_setup(void)
>  {
>        char *who = "BIOS-e820";
> -       int new_nr;
> +       u32 new_nr;
>        /*
>         * Try to copy the BIOS-supplied E820-map.
>         *
> --
> 1.6.0.6
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [git-pull -tip] x86: cleanup patches 20090322
  2009-03-23 10:35     ` Hannes Eder
@ 2009-03-23 10:52       ` Jaswinder Singh Rajput
  0 siblings, 0 replies; 8+ messages in thread
From: Jaswinder Singh Rajput @ 2009-03-23 10:52 UTC (permalink / raw)
  To: Hannes Eder
  Cc: Rusty Russell, Ingo Molnar, x86 maintainers, Sam Ravnborg,
	Yinghai Lu, LKML

On Mon, 2009-03-23 at 11:35 +0100, Hannes Eder wrote:
> On Mon, Mar 23, 2009 at 10:45 AM, Jaswinder Singh Rajput
> <jaswinder@kernel.org> wrote:
> > On Mon, 2009-03-23 at 18:45 +1030, Rusty Russell wrote:
> >> On Monday 23 March 2009 07:22:56 Jaswinder Singh Rajput wrote:
> >> >       x86: e820.h fix various signedness issues in setup.c and e820.c
> >>
> >> Wouldn't fixing the users be better than changing the header?  Esp. since
> >> it could well now cause similar warnings in userspace programs.
> >>
> >> >  struct e820map {
> >> > -   __u32 nr_map;
> >> > +   __s32 nr_map;
> >> >     struct e820entry map[E820_X_MAX];
> >> >  };
> >>
> >> This number can't be negative!
> >>
> >
> > Is this OK, or should I go more further:
> 
> since sanitize_e820_map does only modify its third argument on
> success, and leaves it untouched on error, the temporary variable
> could be eliminated in some places.

OK, this is different issue so I will send this in separate patch.

Thanks,
--
JSR


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [git-pull -tip] x86: cleanup patches 20090322
  2009-03-23  9:45   ` Jaswinder Singh Rajput
  2009-03-23 10:35     ` Hannes Eder
@ 2009-03-23 21:10     ` Rusty Russell
  2009-03-23 21:16       ` Sam Ravnborg
  1 sibling, 1 reply; 8+ messages in thread
From: Rusty Russell @ 2009-03-23 21:10 UTC (permalink / raw)
  To: Jaswinder Singh Rajput
  Cc: Ingo Molnar, x86 maintainers, Sam Ravnborg, Yinghai Lu, LKML

On Monday 23 March 2009 20:15:06 Jaswinder Singh Rajput wrote:
> On Mon, 2009-03-23 at 18:45 +1030, Rusty Russell wrote:
> > On Monday 23 March 2009 07:22:56 Jaswinder Singh Rajput wrote:
> > >       x86: e820.h fix various signedness issues in setup.c and e820.c
> > 
> > Wouldn't fixing the users be better than changing the header?  Esp. since
> > it could well now cause similar warnings in userspace programs.
...
> Is this OK, or should I go more further:
> 
> From: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
> Date: Mon, 23 Mar 2009 02:13:01 +0530
> Subject: [PATCH] x86: e820 fix various signedness issues in setup.c and e820.c
> 
> Impact: cleanup
> 
> This fixed various signedness issues in setup.c and e820.c:
> arch/x86/kernel/setup.c:455:53: warning: incorrect type in argument 3 (different signedness)

This looks fine (assuming it fixes the warnings).

In future it would be nice to explicitly mention that these are "sparse"
warnings, not actual "signedness issues" ("Impact: cleanup" implies that,
but the subject makes it sound like there's a pressing problem).

Thanks,
Rusty.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [git-pull -tip] x86: cleanup patches 20090322
  2009-03-23 21:10     ` Rusty Russell
@ 2009-03-23 21:16       ` Sam Ravnborg
  0 siblings, 0 replies; 8+ messages in thread
From: Sam Ravnborg @ 2009-03-23 21:16 UTC (permalink / raw)
  To: Rusty Russell
  Cc: Jaswinder Singh Rajput, Ingo Molnar, x86 maintainers, Yinghai Lu,
	LKML

On Tue, Mar 24, 2009 at 07:40:02AM +1030, Rusty Russell wrote:
> On Monday 23 March 2009 20:15:06 Jaswinder Singh Rajput wrote:
> > On Mon, 2009-03-23 at 18:45 +1030, Rusty Russell wrote:
> > > On Monday 23 March 2009 07:22:56 Jaswinder Singh Rajput wrote:
> > > >       x86: e820.h fix various signedness issues in setup.c and e820.c
> > > 
> > > Wouldn't fixing the users be better than changing the header?  Esp. since
> > > it could well now cause similar warnings in userspace programs.
> ...
> > Is this OK, or should I go more further:
> > 
> > From: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
> > Date: Mon, 23 Mar 2009 02:13:01 +0530
> > Subject: [PATCH] x86: e820 fix various signedness issues in setup.c and e820.c
> > 
> > Impact: cleanup
> > 
> > This fixed various signedness issues in setup.c and e820.c:
> > arch/x86/kernel/setup.c:455:53: warning: incorrect type in argument 3 (different signedness)
> 
> This looks fine (assuming it fixes the warnings).
> 
> In future it would be nice to explicitly mention that these are "sparse"
> warnings, not actual "signedness issues" ("Impact: cleanup" implies that,
> but the subject makes it sound like there's a pressing problem).

As long as this goes into the body of the changelog - yes.
We do not want those overly long subject lines.

	Sam

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2009-03-23 21:14 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-22 20:52 [git-pull -tip] x86: cleanup patches 20090322 Jaswinder Singh Rajput
2009-03-23  8:15 ` Rusty Russell
2009-03-23  9:45   ` Jaswinder Singh Rajput
2009-03-23 10:35     ` Hannes Eder
2009-03-23 10:52       ` Jaswinder Singh Rajput
2009-03-23 21:10     ` Rusty Russell
2009-03-23 21:16       ` Sam Ravnborg
2009-03-23 10:07   ` Jaswinder Singh Rajput

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox