Re: kernel_thread() & thread starting

2001-02-20 Thread Kenn Humborg
On Sun, Feb 18, 2001 at 10:53:16PM +, Russell King wrote: > Kenn Humborg writes: > > When starting bdflush and kupdated, bdflush_init() uses a semaphore to > > make sure that the threads have run before continuing. Shouldn't > > start_context_thread() do something similar? > > I think this

Re: kernel_thread() thread starting

2001-02-20 Thread Kenn Humborg
On Sun, Feb 18, 2001 at 10:53:16PM +, Russell King wrote: Kenn Humborg writes: When starting bdflush and kupdated, bdflush_init() uses a semaphore to make sure that the threads have run before continuing. Shouldn't start_context_thread() do something similar? I think this would be

Re: kernel_thread() & thread starting

2001-02-19 Thread David Woodhouse
On Mon, 19 Feb 2001, Philipp Rumpf wrote: > No. If kswapd oopses it's a bug in kswapd (or related code). If keventd > oopses most likely the broken code is actually the task queue you > scheduled, which belongs to your driver. If we're going to detect this case, we might as well just restart

Re: kernel_thread() & thread starting

2001-02-19 Thread Philipp Rumpf
On Mon, 19 Feb 2001, Russell King wrote: > Philipp Rumpf writes: > > That still won't catch keventd oopsing though - which I think might happen > > quite easily in real life. > > Maybe we should panic in that case? For example, what happens if kswapd > oopses? kreclaimd? bdflush? kupdate?

Re: kernel_thread() & thread starting

2001-02-19 Thread Russell King
Philipp Rumpf writes: > That still won't catch keventd oopsing though - which I think might happen > quite easily in real life. Maybe we should panic in that case? For example, what happens if kswapd oopses? kreclaimd? bdflush? kupdate? All these have the same problem, and should probably

Re: kernel_thread() & thread starting

2001-02-19 Thread Philipp Rumpf
On Mon, 19 Feb 2001, Andrew Morton wrote: > David Woodhouse wrote: > > [EMAIL PROTECTED] said: > > > Why bother ? It looks like a leftover debugging message which > > > doesn't make a lot of sense once the code is stable (what might make > > > sense is checking keventd is still around, but

Re: kernel_thread() & thread starting

2001-02-19 Thread Andrew Morton
David Woodhouse wrote: > > [EMAIL PROTECTED] said: > > Why bother ? It looks like a leftover debugging message which > > doesn't make a lot of sense once the code is stable (what might make > > sense is checking keventd is still around, but that's not what the > > code is doing). keventd

Re: kernel_thread() & thread starting

2001-02-19 Thread David Woodhouse
[EMAIL PROTECTED] said: > Why bother ? It looks like a leftover debugging message which > doesn't make a lot of sense once the code is stable (what might make > sense is checking keventd is still around, but that's not what the > code is doing). > Proposed patch: > dwmw2 ? Don't look at

Re: kernel_thread() & thread starting

2001-02-19 Thread Philipp Rumpf
On Sun, 18 Feb 2001, Kenn Humborg wrote: > in the .config, I can get schedule_task() to fail with: > >schedule_task(): keventd has not started This shouldn't be a failure case, just a (bogus) printk. > When starting bdflush and kupdated, bdflush_init() uses a semaphore to > make sure that

Re: kernel_thread() thread starting

2001-02-19 Thread Philipp Rumpf
On Sun, 18 Feb 2001, Kenn Humborg wrote: in the .config, I can get schedule_task() to fail with: schedule_task(): keventd has not started This shouldn't be a failure case, just a (bogus) printk. When starting bdflush and kupdated, bdflush_init() uses a semaphore to make sure that the

Re: kernel_thread() thread starting

2001-02-19 Thread David Woodhouse
[EMAIL PROTECTED] said: Why bother ? It looks like a leftover debugging message which doesn't make a lot of sense once the code is stable (what might make sense is checking keventd is still around, but that's not what the code is doing). Proposed patch: dwmw2 ? Don't look at me. I

Re: kernel_thread() thread starting

2001-02-19 Thread Andrew Morton
David Woodhouse wrote: [EMAIL PROTECTED] said: Why bother ? It looks like a leftover debugging message which doesn't make a lot of sense once the code is stable (what might make sense is checking keventd is still around, but that's not what the code is doing). keventd *must* still

Re: kernel_thread() thread starting

2001-02-19 Thread Philipp Rumpf
On Mon, 19 Feb 2001, Andrew Morton wrote: David Woodhouse wrote: [EMAIL PROTECTED] said: Why bother ? It looks like a leftover debugging message which doesn't make a lot of sense once the code is stable (what might make sense is checking keventd is still around, but that's not what

Re: kernel_thread() thread starting

2001-02-19 Thread Russell King
Philipp Rumpf writes: That still won't catch keventd oopsing though - which I think might happen quite easily in real life. Maybe we should panic in that case? For example, what happens if kswapd oopses? kreclaimd? bdflush? kupdate? All these have the same problem, and should probably

Re: kernel_thread() thread starting

2001-02-19 Thread Philipp Rumpf
On Mon, 19 Feb 2001, Russell King wrote: Philipp Rumpf writes: That still won't catch keventd oopsing though - which I think might happen quite easily in real life. Maybe we should panic in that case? For example, what happens if kswapd oopses? kreclaimd? bdflush? kupdate? All these

Re: kernel_thread() thread starting

2001-02-19 Thread David Woodhouse
On Mon, 19 Feb 2001, Philipp Rumpf wrote: No. If kswapd oopses it's a bug in kswapd (or related code). If keventd oopses most likely the broken code is actually the task queue you scheduled, which belongs to your driver. If we're going to detect this case, we might as well just restart

Re: kernel_thread() & thread starting

2001-02-18 Thread Russell King
Kenn Humborg writes: > When starting bdflush and kupdated, bdflush_init() uses a semaphore to > make sure that the threads have run before continuing. Shouldn't > start_context_thread() do something similar? I think this would be a good idea. Here is a patch to try. Please report back if it

kernel_thread() & thread starting

2001-02-18 Thread Kenn Humborg
In init/main.c, do_basic_setup() we have: start_context_thread(); do_initcalls(); start_context_thread() calls kernel_thread() to start the keventd thread. Then do_initcalls() calls all the init functions and finishes by calling flush_scheduled_tasks(). This function ends up

kernel_thread() thread starting

2001-02-18 Thread Kenn Humborg
In init/main.c, do_basic_setup() we have: start_context_thread(); do_initcalls(); start_context_thread() calls kernel_thread() to start the keventd thread. Then do_initcalls() calls all the init functions and finishes by calling flush_scheduled_tasks(). This function ends up

Re: kernel_thread() thread starting

2001-02-18 Thread Russell King
Kenn Humborg writes: When starting bdflush and kupdated, bdflush_init() uses a semaphore to make sure that the threads have run before continuing. Shouldn't start_context_thread() do something similar? I think this would be a good idea. Here is a patch to try. Please report back if it