Re: Module/kthread/printk question/problem

From: Eric Dumazet
Date: Thu Feb 02 2012 - 04:58:23 EST


Le jeudi 02 fÃvrier 2012 Ã 13:22 +0400, Dmitry Antipov a Ãcrit :
> On 02/02/2012 01:15 PM, Eric Dumazet wrote:
>
> >
> > Try following code :
> >
>
> I already did it myself (except redundant wake_up_process(), which
> is performed by kthread_run() anyway).

Then its racy, unless you also changed the way your worker threads exit.

By the time kthread_run() returns, child thread can already be gone.

This is why I use kthread_create() : to be able to get_task_struct() so
that task_struct cannot disappear, even if the child exits really fast :

int worker(void *arg)
{
return 0;
}


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/