Messages in this thread Patch in this message | | | Date | Sat, 07 Oct 2006 01:03:08 +0200 | From | Tilman Schmidt <> | Subject | v2.6.19-rc1 regression: printk missing klogd wakeup |
| |
Unsurprisingly, v2.6.19-rc1 still contains the problem I reported for v2.6.18-rc1 under the subject "Linux v2.6.18-rc1: printk delays" and later (unfortunately not before it made it into v2.6.18) tracked down through bisecting to
[a0f1ccfd8d37457a6d8a9e01acebeefcdfcc306e] lockdep: do not recurse in printk
Problem description: > While X is running, output from printk() appears in syslog (eg. > /var/log/messages) only after a key is pressed on the system keyboard, > even though it is visible with dmesg immediately. (from lkml message <450BF1CC.2070309@imap.cc> - see that message for further details)
The problem did not exist in 2.6.17, so I think it qualifies as a regression.
The following naive patch fixes the problem for me, without any apparent ill effects (ie. the menace of lockup never manifested itself):
--- a/kernel/printk.c 2006-10-07 00:51:09.000000000 +0200 +++ b/kernel/printk.c 2006-10-07 00:51:41.000000000 +0200 @@ -826,8 +826,7 @@ void release_console_sem(void) * from within the scheduler code, then do not lock * up due to self-recursion: */ - if (!lockdep_internal()) - wake_up_interruptible(&log_wait); + wake_up_interruptible(&log_wait); } } EXPORT_SYMBOL(release_console_sem); But I guess for a proper fix the if() condition should rather be refined a bit than thrown out completely. -- 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] | |