Messages in this thread | | | Date | Fri, 22 Sep 2006 01:28:24 +0200 | From | Tilman Schmidt <> | Subject | Re: [2.6.18-rc7] printk output delay in syslog wrt dmesg still unfixed |
| |
On 19.09.2006 20:52, john stultz wrote: > You might try git-bisect to find the offending patch.
This turned out to be easier than I expected. The patch which introduces the problem is:
[a0f1ccfd8d37457a6d8a9e01acebeefcdfcc306e] lockdep: do not recurse in printk
Reverting that patch makes the problem disappear in 2.6.18, too. In fact, it suffices to revert just the last chunk:
@@ -809,8 +815,15 @@ void release_console_sem(void) console_may_schedule = 0; up(&console_sem); spin_unlock_irqrestore(&logbuf_lock, flags); - if (wake_klogd && !oops_in_progress && waitqueue_active(&log_wait)) - wake_up_interruptible(&log_wait); + if (wake_klogd && !oops_in_progress && waitqueue_active(&log_wait)) { + /* + * If we printk from within the lock dependency code, + * from within the scheduler code, then do not lock + * up due to self-recursion: + */ + if (!lockdep_internal()) + wake_up_interruptible(&log_wait); + } } EXPORT_SYMBOL(release_console_sem);
Hope that helps.
-- Tilman Schmidt E-Mail: tilman@imap.cc Bonn, Germany Diese Nachricht besteht zu 100% aus wiederverwerteten Bits. Ungeoeffnet mindestens haltbar bis: (siehe Rueckseite)
[unhandled content-type:application/pgp-signature] | |