On 06.06.2011 20:07, Ingo Molnar wrote:
* Arne Jansen<lists@xxxxxxxxxxxxxx> wrote:On 06.06.2011 19:11, Ingo Molnar wrote:* Peter Zijlstra<peterz@xxxxxxxxxxxxx> wrote:+void printk_tick(void) +{ + if (!__this_cpu_read(printk_pending)) + return; + + /* + * Try to acquire and then immediately release the + * console semaphore. The release will do all the + * actual magic (print out buffers, wake up klogd, + * etc). + */ + if (console_trylock_for_printk(smp_processor_id())) { + console_unlock(); + __this_cpu_write(printk_pending, 0); + } +}Arne does this fix the hang you are seeing?What do you want me to test? just replace printk_tick with the above version? If I do that, the machine doesn't even boot up any more.Yeah. So i think we want two patches: - The first one that minimally removes the lockdep_off()/on() dance and fixes the regression: the patch that i sent earlier today. I *think* that should fix the crash.
Isn't the regression just the false lockdep_assert_held(&p->pi_lock)? The patch Peter sent earlier seems like the minimal changeset to fix that, plus it fixes a bug that might pop up somewhere else, too.
3.0 material. - The second one that moves console_sem wakeups to the jiffies tick. It does not push the acquiring and the console->write() calls to jiffies context, only delays the wakeup. 3.1 material. 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