Skip to content

Commit 809631e

Browse files
jognesspmladek
authored andcommitted
Revert "printk: wake up all waiters"
This reverts commit 938ba40. The wait queue @log_wait never has exclusive waiters, so there is no need to use wake_up_interruptible_all(). Using wake_up_interruptible() was the correct function to wake all waiters. Since there are no exclusive waiters, erroneously changing wake_up_interruptible() to wake_up_interruptible_all() did not result in any behavior change. However, using wake_up_interruptible_all() on a wait queue without exclusive waiters is fundamentally wrong. Go back to using wake_up_interruptible() to wake all waiters. Signed-off-by: John Ogness <john.ogness@linutronix.de> Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org> Signed-off-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/20220526203056.81123-1-john.ogness@linutronix.de
1 parent 537e62c commit 809631e

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

kernel/printk/printk.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3904,7 +3904,7 @@ static void wake_up_klogd_work_func(struct irq_work *irq_work)
39043904
}
39053905

39063906
if (pending & PRINTK_PENDING_WAKEUP)
3907-
wake_up_interruptible_all(&log_wait);
3907+
wake_up_interruptible(&log_wait);
39083908
}
39093909

39103910
static DEFINE_PER_CPU(struct irq_work, wake_up_klogd_work) =

0 commit comments

Comments
 (0)