* 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
Powered by JetHome