On 30.10.2011 06:18, Joerg Sonnenberger wrote:
On Sat, Oct 29, 2011 at 11:46:01PM +0200, Jean-Yves Migeon wrote:
When creating an IDLE kthread without having a CPU specified, the
actual code in kthread_create(9) will lead to a NULL deref [1].
IDLE as in idle loop? Why do you want to do that?
No, IDLE as LSIDL, e.g. the thread is not scheduled for execution right
after creation. When not specified, a thread begins in LSRUN state
(runnable but not yet running on a CPU).
Intent behind was to kthread_join() on an LSIDL thread. An earlier
design of mine for xbdback(4) required this, but I did it differently
afterwards.
Anyway, the issue still remains. kthread(9) specifies that 'ci' is used
to spawn CPU-bound threads. The actual code makes it impossible to spawn
threads in LSIDL state without making them CPU-bound. My proposal goes
around this, but as it is a critical piece of code I'd prefer to get a
good review first, even if it's a 4 line patch.
--
Jean-Yves Migeon
jeanyves.mig...@free.fr