* 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).