All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Yinghai Lu <yinghai@kernel.org>, Sam Ravnborg <sam@ravnborg.org>,
	David Howells <dhowells@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	linux-next@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	mel@csn.ul.ie
Subject: Re: [BUG] next-20081216 - WARNING: at kernel/smp.c:333 smp_call_function_mask
Date: Sat, 27 Dec 2008 20:59:18 +0530	[thread overview]
Message-ID: <20081227152918.GD4530@linux.vnet.ibm.com> (raw)
In-Reply-To: <20081227122632.GA18909@elte.hu>

* Ingo Molnar <mingo@elte.hu> [2008-12-27 13:26:32]:

> 
> * Kamalesh Babulal <kamalesh@linux.vnet.ibm.com> wrote:
> 
> > > yes, indeed - updated patch below.
> > > 
> > > 	Ingo
> > > 
> > 
> > Hi Ingo,
> > 
> > 	Sorry, for not mentioning that the previous kernel trace, was 
> > after adding the return statement to the arch_init_chip_data().
> 
> ah, i missed that detail. There was a stupid typo in one of the conflict 
> resolutions i had to do - could you check the updated patch below?
> 
> Thanks,
> 
> 	Ingo
>


Hi Ingo,

	kernel still crashes, with the updated patch.


> ----------->
> From 13a0c3c269b223f60abfac8a9811d77111a8b4ba Mon Sep 17 00:00:00 2001
> From: Yinghai Lu <yinghai@kernel.org>
> Date: Fri, 26 Dec 2008 02:05:47 -0800
> Subject: [PATCH] sparseirq: work around compiler optimizing away __weak functions
> 
> Impact: fix panic on null pointer with sparseirq
> 
> Some GCC versions seem to inline the weak global function,
> when that function is empty.
> 
> Work it around, by making the functions return a (dummy) integer.
> 
> Signed-off-by: Yinghai <yinghai@kernel.org>
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
> ---
>  arch/x86/kernel/io_apic.c |    8 ++++++--
>  include/linux/irq.h       |    6 +++---
>  init/main.c               |    7 ++++---
>  kernel/irq/handle.c       |    7 ++++---
>  4 files changed, 17 insertions(+), 11 deletions(-)
> 
> diff --git a/arch/x86/kernel/io_apic.c b/arch/x86/kernel/io_apic.c
> index 2fe543f..9760393 100644
> --- a/arch/x86/kernel/io_apic.c
> +++ b/arch/x86/kernel/io_apic.c
> @@ -170,7 +170,7 @@ static struct irq_cfg irq_cfgx[NR_IRQS] = {
>  	[15] = { .domain = CPU_MASK_ALL, .vector = IRQ15_VECTOR, },
>  };
> 
> -void __init arch_early_irq_init(void)
> +int __init arch_early_irq_init(void)
>  {
>  	struct irq_cfg *cfg;
>  	struct irq_desc *desc;
> @@ -184,6 +184,8 @@ void __init arch_early_irq_init(void)
>  		desc = irq_to_desc(i);
>  		desc->chip_data = &cfg[i];
>  	}
> +
> +	return 0;
>  }
> 
>  #ifdef CONFIG_SPARSE_IRQ
> @@ -212,7 +214,7 @@ static struct irq_cfg *get_one_free_irq_cfg(int cpu)
>  	return cfg;
>  }
> 
> -void arch_init_chip_data(struct irq_desc *desc, int cpu)
> +int arch_init_chip_data(struct irq_desc *desc, int cpu)
>  {
>  	struct irq_cfg *cfg;
> 
> @@ -224,6 +226,8 @@ void arch_init_chip_data(struct irq_desc *desc, int cpu)
>  			BUG_ON(1);
>  		}
>  	}
> +
> +	return 0;
>  }
> 
>  #ifdef CONFIG_NUMA_MIGRATE_IRQ_DESC
> diff --git a/include/linux/irq.h b/include/linux/irq.h
> index 69da275..0e40af4 100644
> --- a/include/linux/irq.h
> +++ b/include/linux/irq.h
> @@ -193,9 +193,9 @@ struct irq_desc {
>  	const char		*name;
>  } ____cacheline_internodealigned_in_smp;
> 
> -extern void early_irq_init(void);
> -extern void arch_early_irq_init(void);
> -extern void arch_init_chip_data(struct irq_desc *desc, int cpu);
> +extern int early_irq_init(void);
> +extern int arch_early_irq_init(void);
> +extern int arch_init_chip_data(struct irq_desc *desc, int cpu);
>  extern void arch_init_copy_chip_data(struct irq_desc *old_desc,
>  					struct irq_desc *desc, int cpu);
>  extern void arch_free_chip_data(struct irq_desc *old_desc, struct irq_desc *desc);
> diff --git a/init/main.c b/init/main.c
> index c1f999a..c314aa1 100644
> --- a/init/main.c
> +++ b/init/main.c
> @@ -539,13 +539,14 @@ void __init __weak thread_info_cache_init(void)
>  {
>  }
> 
> -void __init __weak arch_early_irq_init(void)
> +int __init __weak arch_early_irq_init(void)
>  {
> +	return 0;
>  }
> 
> -void __init __weak early_irq_init(void)
> +int __init __weak early_irq_init(void)
>  {
> -	arch_early_irq_init();
> +	return arch_early_irq_init();
>  }
> 
>  asmlinkage void __init start_kernel(void)
> diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c
> index 893da67..0bef3ec 100644
> --- a/kernel/irq/handle.c
> +++ b/kernel/irq/handle.c
> @@ -86,8 +86,9 @@ void init_kstat_irqs(struct irq_desc *desc, int cpu, int nr)
>  		desc->kstat_irqs = (unsigned int *)ptr;
>  }
> 
> -void __attribute__((weak)) arch_init_chip_data(struct irq_desc *desc, int cpu)
> +int __weak arch_init_chip_data(struct irq_desc *desc, int cpu)
>  {
> +	return 0;
>  }
> 
>  static void init_one_irq_desc(int irq, struct irq_desc *desc, int cpu)
> @@ -132,7 +133,7 @@ static struct irq_desc irq_desc_legacy[NR_IRQS_LEGACY] __cacheline_aligned_in_sm
>  /* FIXME: use bootmem alloc ...*/
>  static unsigned int kstat_irqs_legacy[NR_IRQS_LEGACY][NR_CPUS];
> 
> -void __init early_irq_init(void)
> +int __init early_irq_init(void)
>  {
>  	struct irq_desc *desc;
>  	int legacy_count;
> @@ -151,7 +152,7 @@ void __init early_irq_init(void)
>  	for (i = legacy_count; i < NR_IRQS; i++)
>  		irq_desc_ptrs[i] = NULL;
> 
> -	arch_early_irq_init();
> +	return arch_early_irq_init();
>  }
> 
>  struct irq_desc *irq_to_desc(unsigned int irq)
> 
> --
> 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/

-- 
Thanks & Regards,
Kamalesh Babulal,
Linux Technology Center,
IBM, ISTL.

  reply	other threads:[~2008-12-27 15:29 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-16 11:37 linux-next: Tree for December 16 Stephen Rothwell
2008-12-16 23:26 ` Andrew Morton
2008-12-17  6:59   ` linux-next: mtd tree build failures (Was: Re: linux-next: Tree for December 16) Stephen Rothwell
2008-12-17  9:32     ` Artem Bityutskiy
2008-12-17  9:57       ` Stephen Rothwell
2008-12-17  7:07   ` linux-next: Tree for December 16 Artem Bityutskiy
2008-12-17  7:08 ` next-20081216 - powerpc link error 'dynreloc miscount' Kamalesh Babulal
2008-12-17  7:08   ` Kamalesh Babulal
2008-12-17  7:28   ` Sam Ravnborg
2008-12-17  7:28     ` Sam Ravnborg
2008-12-17  7:30   ` Stephen Rothwell
2008-12-19 10:54 ` [BUG] next-20081216 - WARNING: at kernel/smp.c:333 smp_call_function_mask Kamalesh Babulal
2008-12-19 11:51   ` Yinghai Lu
2008-12-19 13:46     ` Kamalesh Babulal
2008-12-19 21:02       ` Yinghai Lu
2008-12-23 13:21         ` Kamalesh Babulal
2008-12-23 21:09           ` Yinghai Lu
2008-12-24 16:34             ` Kamalesh Babulal
2008-12-24 20:34               ` Yinghai Lu
2008-12-26  9:12                 ` Kamalesh Babulal
2008-12-26 10:05                   ` Yinghai Lu
2008-12-26 10:27                     ` Sam Ravnborg
2008-12-26 13:33                       ` Ingo Molnar
2008-12-26 13:42                         ` [PATCH] kbuild, sparseirq: work around GCC bug with __weak aliases Ingo Molnar
2008-12-27  4:09                           ` Paul Mackerras
2008-12-27 10:59                             ` Ingo Molnar
2008-12-28 23:27                               ` Paul Mackerras
2008-12-26 15:28                       ` [BUG] next-20081216 - WARNING: at kernel/smp.c:333 smp_call_function_mask Kamalesh Babulal
2008-12-26 15:33                         ` Ingo Molnar
2008-12-26 17:04                           ` Kamalesh Babulal
2008-12-26 18:17                             ` Ingo Molnar
2008-12-27  7:11                               ` Kamalesh Babulal
2008-12-27  7:14                                 ` Yinghai Lu
2008-12-27  7:39                                 ` Yinghai Lu
2008-12-27  8:37                                   ` Ingo Molnar
2008-12-27  8:39                                     ` Ingo Molnar
2008-12-27 11:21                                       ` Kamalesh Babulal
2008-12-27 11:24                                         ` Ingo Molnar
2008-12-27 11:57                                           ` Kamalesh Babulal
2008-12-27 12:26                                             ` Ingo Molnar
2008-12-27 15:29                                               ` Kamalesh Babulal [this message]
2008-12-27 21:10                                                 ` Yinghai Lu
2008-12-27 21:10                                                   ` Yinghai Lu
2008-12-28 12:55                                                 ` Ingo Molnar
2008-12-28 16:11                                                   ` Kamalesh Babulal
2008-12-28 23:09                                                     ` Yinghai Lu
2008-12-27  5:05                       ` [PATCH] perf_counter: more barrier in blank weak function Yinghai Lu
2008-12-27  5:06                         ` [PATCH] kgdb: " Yinghai Lu
2008-12-27  8:17                           ` Ingo Molnar
2008-12-27  8:34                             ` Andrew Morton
2008-12-27  6:07                         ` [PATCH] perf_counter: " KOSAKI Motohiro
2008-12-27  9:46                       ` [BUG] next-20081216 - WARNING: at kernel/smp.c:333 smp_call_function_mask David Howells
2008-12-27  9:50                         ` Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081227152918.GD4530@linux.vnet.ibm.com \
    --to=kamalesh@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=dhowells@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=mel@csn.ul.ie \
    --cc=mingo@elte.hu \
    --cc=sam@ravnborg.org \
    --cc=sfr@canb.auug.org.au \
    --cc=yinghai@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.