linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* threadirqs and kthreadd_task
@ 2014-10-18 11:11 ajay kanala
  2014-10-23 17:18 ` ajay kanala
  0 siblings, 1 reply; 5+ messages in thread
From: ajay kanala @ 2014-10-18 11:11 UTC (permalink / raw)
  To: linux-kernel

Hi,
I have been trying to enable "threadirqs" command line option on
3.10.12 kernel and kernel crashes with NULL pointer access for
kthreadd_task in wake_up_process function:

[    0.000000] Call Trace:
[    0.000000] [<8005544c>] wake_up_process+0xc/0x48
[    0.000000] [<8004c1b8>] kthread_create_on_node+0x64/0xc4
[    0.000000] [<8006d338>] __setup_irq+0x130/0x634
[    0.000000] [<8006d89c>] setup_irq+0x60/0xb4
[    0.000000] [<8050267c>] icu_of_init+0x1f8/0x2f8
[    0.000000] [<80517b30>] of_irq_init+0x2c8/0x304
[    0.000000] [<805007bc>] start_kernel+0x218/0x3a4

But as far as i see, kthreadd_task is initialized in start_kernel -->
rest_init function which is much later than setting up interrupts (
init_IRQ ):

So my question is, how are systems working which enabled "threadirqs"
command line option enabled ( the code flow seems similar even on 3.17
kernel ). Am i missing the obvious?

thanks for pointers

-- Ajay

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

* Re: threadirqs and kthreadd_task
  2014-10-18 11:11 threadirqs and kthreadd_task ajay kanala
@ 2014-10-23 17:18 ` ajay kanala
  2014-10-23 17:40   ` Mike Galbraith
  0 siblings, 1 reply; 5+ messages in thread
From: ajay kanala @ 2014-10-23 17:18 UTC (permalink / raw)
  To: linux-kernel

Hi,
any help?

thanks in advance
-- Ajay

On Sat, Oct 18, 2014 at 4:41 PM, ajay kanala <ajaykanala321@gmail.com> wrote:
> Hi,
> I have been trying to enable "threadirqs" command line option on
> 3.10.12 kernel and kernel crashes with NULL pointer access for
> kthreadd_task in wake_up_process function:
>
> [    0.000000] Call Trace:
> [    0.000000] [<8005544c>] wake_up_process+0xc/0x48
> [    0.000000] [<8004c1b8>] kthread_create_on_node+0x64/0xc4
> [    0.000000] [<8006d338>] __setup_irq+0x130/0x634
> [    0.000000] [<8006d89c>] setup_irq+0x60/0xb4
> [    0.000000] [<8050267c>] icu_of_init+0x1f8/0x2f8
> [    0.000000] [<80517b30>] of_irq_init+0x2c8/0x304
> [    0.000000] [<805007bc>] start_kernel+0x218/0x3a4
>
> But as far as i see, kthreadd_task is initialized in start_kernel -->
> rest_init function which is much later than setting up interrupts (
> init_IRQ ):
>
> So my question is, how are systems working which enabled "threadirqs"
> command line option enabled ( the code flow seems similar even on 3.17
> kernel ). Am i missing the obvious?
>
> thanks for pointers
>
> -- Ajay

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

* Re: threadirqs and kthreadd_task
  2014-10-23 17:18 ` ajay kanala
@ 2014-10-23 17:40   ` Mike Galbraith
  2014-10-24  9:18     ` ajay kanala
  0 siblings, 1 reply; 5+ messages in thread
From: Mike Galbraith @ 2014-10-23 17:40 UTC (permalink / raw)
  To: ajay kanala; +Cc: linux-kernel

On Thu, 2014-10-23 at 22:48 +0530, ajay kanala wrote: 
> Hi,
> any help?

You should CC the MIPS folks methinks, works fine in x86_64 at least.

-Mike




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

* Re: threadirqs and kthreadd_task
  2014-10-23 17:40   ` Mike Galbraith
@ 2014-10-24  9:18     ` ajay kanala
  2014-10-28 10:56       ` ajay kanala
  0 siblings, 1 reply; 5+ messages in thread
From: ajay kanala @ 2014-10-24  9:18 UTC (permalink / raw)
  To: Mike Galbraith; +Cc: linux-kernel, linux-mips

thanks Mike for info.
I add mips list in CC now.

In general, the problem does not look like arch specific. Arch code is
calling setup_irq. This code calls generic  __setup_irq. And then
threads are created by this line in kernel/irq/manage.c:
t = kthread_create(irq_thread, new, "irq/%d-%s", irq,
                                   new->name);

and kthreadd_task is uninitialized till this point.

The code looks similar for x86_64 so i am missing something obvious.

Nevertheless, I am hoping someone from mips-list can throw some light
if this feature works well on mips.

Thanks
-- Ajay

On Thu, Oct 23, 2014 at 11:10 PM, Mike Galbraith
<umgwanakikbuti@gmail.com> wrote:
> On Thu, 2014-10-23 at 22:48 +0530, ajay kanala wrote:
>> Hi,
>> any help?
>
> You should CC the MIPS folks methinks, works fine in x86_64 at least.
>
> -Mike
>
>
>

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

* Re: threadirqs and kthreadd_task
  2014-10-24  9:18     ` ajay kanala
@ 2014-10-28 10:56       ` ajay kanala
  0 siblings, 0 replies; 5+ messages in thread
From: ajay kanala @ 2014-10-28 10:56 UTC (permalink / raw)
  To: Mike Galbraith; +Cc: linux-kernel, linux-mips

Hi,
Any pointers from mips list?  Was the option working on any mips arch?

Thanks for the help.
-- Ajay

On Fri, Oct 24, 2014 at 2:48 PM, ajay kanala <ajaykanala321@gmail.com> wrote:
> thanks Mike for info.
> I add mips list in CC now.
>
> In general, the problem does not look like arch specific. Arch code is
> calling setup_irq. This code calls generic  __setup_irq. And then
> threads are created by this line in kernel/irq/manage.c:
> t = kthread_create(irq_thread, new, "irq/%d-%s", irq,
>                                    new->name);
>
> and kthreadd_task is uninitialized till this point.
>
> The code looks similar for x86_64 so i am missing something obvious.
>
> Nevertheless, I am hoping someone from mips-list can throw some light
> if this feature works well on mips.
>
> Thanks
> -- Ajay
>
> On Thu, Oct 23, 2014 at 11:10 PM, Mike Galbraith
> <umgwanakikbuti@gmail.com> wrote:
>> On Thu, 2014-10-23 at 22:48 +0530, ajay kanala wrote:
>>> Hi,
>>> any help?
>>
>> You should CC the MIPS folks methinks, works fine in x86_64 at least.
>>
>> -Mike
>>
>>
>>

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

end of thread, other threads:[~2014-10-28 10:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-18 11:11 threadirqs and kthreadd_task ajay kanala
2014-10-23 17:18 ` ajay kanala
2014-10-23 17:40   ` Mike Galbraith
2014-10-24  9:18     ` ajay kanala
2014-10-28 10:56       ` ajay kanala

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).