Re: [PATCH 01/20 -v5] printk - dont wakeup klogd with interrupts disabled

2008-01-24 Thread Pavel Machek
On Wed 2008-01-23 12:25:09, Mathieu Desnoyers wrote: > * Daniel Walker ([EMAIL PROTECTED]) wrote: > > > > On Wed, 2008-01-23 at 11:02 -0500, Steven Rostedt wrote: > > > > > + if (!irqs_disabled() && wake_klogd) > > > wake_up_klogd(); > > > > This causes a regression .. When printk is c

Re: [PATCH 01/20 -v5] printk - dont wakeup klogd with interrupts disabled

2008-01-24 Thread Pavel Machek
On Wed 2008-01-23 12:27:12, Steven Rostedt wrote: > > On Wed, 23 Jan 2008, Daniel Walker wrote: > > > > > On Wed, 2008-01-23 at 11:02 -0500, Steven Rostedt wrote: > > > > > + if (!irqs_disabled() && wake_klogd) > > > wake_up_klogd(); > > > > This causes a regression .. When printk is ca

Re: [PATCH 01/20 -v5] printk - dont wakeup klogd with interrupts disabled

2008-01-23 Thread Daniel Walker
On Wed, 2008-01-23 at 10:50 -0800, Daniel Walker wrote: > On Wed, 2008-01-23 at 13:43 -0500, Steven Rostedt wrote: > > On Wed, 23 Jan 2008, Daniel Walker wrote: > > > > > > > > On Wed, 2008-01-23 at 13:18 -0500, Steven Rostedt wrote: > > > > > > > The wakeup hook in schedule is when we find out t

Re: [PATCH 01/20 -v5] printk - dont wakeup klogd with interrupts disabled

2008-01-23 Thread Daniel Walker
On Wed, 2008-01-23 at 13:43 -0500, Steven Rostedt wrote: > On Wed, 23 Jan 2008, Daniel Walker wrote: > > > > > On Wed, 2008-01-23 at 13:18 -0500, Steven Rostedt wrote: > > > > > The wakeup hook in schedule is when we find out that we hit our max. I > > > could postpone that somehow, but that woul

Re: [PATCH 01/20 -v5] printk - dont wakeup klogd with interrupts disabled

2008-01-23 Thread Steven Rostedt
On Wed, 23 Jan 2008, Daniel Walker wrote: > > On Wed, 2008-01-23 at 13:18 -0500, Steven Rostedt wrote: > > > The wakeup hook in schedule is when we find out that we hit our max. I > > could postpone that somehow, but that would require more glue code than I > > would like to add. > > Which hook s

Re: [PATCH 01/20 -v5] printk - dont wakeup klogd with interrupts disabled

2008-01-23 Thread Daniel Walker
On Wed, 2008-01-23 at 13:18 -0500, Steven Rostedt wrote: > The wakeup hook in schedule is when we find out that we hit our max. I > could postpone that somehow, but that would require more glue code than I > would like to add. Which hook specifically ? > As for -rt, we've disabled printk for co

Re: [PATCH 01/20 -v5] printk - dont wakeup klogd with interrupts disabled

2008-01-23 Thread Steven Rostedt
On Wed, 23 Jan 2008, Daniel Walker wrote: > > > if (wake_klogd && !runqueue_is_locked()) > > wake_up_klogd(); > > > > This probably is the cleanest solution since it simply prevents the > > deadlock from occurring. > > Do you really need to call it with the runqueue lock held .. T

Re: [PATCH 01/20 -v5] printk - dont wakeup klogd with interrupts disabled

2008-01-23 Thread Tim Bird
Mathieu Desnoyers wrote: > Can we change this for : > if (!(irqs_disabled() && !oops_in_progress) && wake_klogd) > wake_up_klogd(); !oops_in_progress is already inside wake_up_klogd(). Also, I think you'd want that first '!' inside the parens. I've been working on a system to handle deferred d

Re: [PATCH 01/20 -v5] printk - dont wakeup klogd with interrupts disabled

2008-01-23 Thread Daniel Walker
> if (wake_klogd && !runqueue_is_locked()) > wake_up_klogd(); > > This probably is the cleanest solution since it simply prevents the > deadlock from occurring. Do you really need to call it with the runqueue lock held .. There are other issue with the calls at that level.. F

Re: [PATCH 01/20 -v5] printk - dont wakeup klogd with interrupts disabled

2008-01-23 Thread Mathieu Desnoyers
* Steven Rostedt ([EMAIL PROTECTED]) wrote: > > On Wed, 23 Jan 2008, Daniel Walker wrote: > > > > > On Wed, 2008-01-23 at 11:02 -0500, Steven Rostedt wrote: > > > > > + if (!irqs_disabled() && wake_klogd) > > > wake_up_klogd(); > > > > This causes a regression .. When printk is called d

Re: [PATCH 01/20 -v5] printk - dont wakeup klogd with interrupts disabled

2008-01-23 Thread Mathieu Desnoyers
* Daniel Walker ([EMAIL PROTECTED]) wrote: > > On Wed, 2008-01-23 at 11:02 -0500, Steven Rostedt wrote: > > > + if (!irqs_disabled() && wake_klogd) > > wake_up_klogd(); > > This causes a regression .. When printk is called during an OOPS in > kernels without this change then the OO

Re: [PATCH 01/20 -v5] printk - dont wakeup klogd with interrupts disabled

2008-01-23 Thread Steven Rostedt
On Wed, 23 Jan 2008, Daniel Walker wrote: > > On Wed, 2008-01-23 at 11:02 -0500, Steven Rostedt wrote: > > > + if (!irqs_disabled() && wake_klogd) > > wake_up_klogd(); > > This causes a regression .. When printk is called during an OOPS in > kernels without this change then the OOPS

Re: [PATCH 01/20 -v5] printk - dont wakeup klogd with interrupts disabled

2008-01-23 Thread Daniel Walker
On Wed, 2008-01-23 at 11:02 -0500, Steven Rostedt wrote: > + if (!irqs_disabled() && wake_klogd) > wake_up_klogd(); This causes a regression .. When printk is called during an OOPS in kernels without this change then the OOPS will get logged, since the logging process (klogd) i