Re: [debug patch] printk: Add a printk killswitch to robustify NMI watchdog messages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Mon, 2011-06-06 at 18:08 +0200, Ingo Molnar wrote:
> > * Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> > 
> > > On Mon, 2011-06-06 at 17:52 +0200, Ingo Molnar wrote:
> > > > * Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> > > > 
> > > > > Needs more staring at, preferably by someone who actually 
> > > > > understands that horrid mess :/ Also, this all still doesn't make 
> > > > > printk() work reliably while holding rq->lock.
> > > > 
> > > > So, what about my suggestion to just *remove* the wakeup from there 
> > > > and use the deferred wakeup mechanism that klogd uses.
> > > > 
> > > > That would make printk() *visibly* more robust in practice.
> > > 
> > > That's currently done from the jiffy tick, do you want to effectively
> > > delay releasing the console_sem for the better part of a jiffy?
> > 
> > Yes, and we already do it in some other circumstances. 
> 
> We do?

Yes, see the whole printk_pending logic, it delays:

                wake_up_interruptible(&log_wait);

to the next jiffies tick.

> > Can you see 
> > any problem with that? klogd is an utter slowpath anyway.
> 
> but console_sem isn't klogd. We delay klogd and that's perfectly 
> fine, but afaict we don't delay console_sem.

But console_sem is really a similar special case as klogd. See, it's 
about a *printk*. That's rare by definition.

If someone on the console sees it he'll be startled by at least 10 
msecs ;-) So delaying the wakeup to the next jiffy really fits into 
the same approach as we already do with &log_wait, hm?

This would solve a real nightmare that has plagued us ever since 
printk() has done wakeups directly - i.e. like forever.

Thanks,

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Stable Commits]     [Linux Stable Kernel]     [Linux Kernel]     [Linux USB Devel]     [Linux Video &Media]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux