[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAN+4W8hrm8k9Jo9MDPRd_4-Ak80s3Avnjw5MNNkwPVai=iCP0A@mail.gmail.com>
Date: Mon, 22 Dec 2025 17:05:47 +0100
From: Lorenz Bauer <lmb@...valent.com>
To: Arnd Bergmann <arnd@...db.de>
Cc: Amit Shah <amit@...nel.org>, Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
virtualization@...ts.linux.dev, linux-kernel@...r.kernel.org,
stable@...r.kernel.org
Subject: Re: [PATCH] virtio: console: fix lost wakeup when device is written
and polled
On Mon, Dec 15, 2025 at 11:49 AM Arnd Bergmann <arnd@...db.de> wrote:
>
> Is it always enough to wake up only one waiter? From your
> description it sounds like it might need wake_up_interruptible_all()
> instead, but I may be misunderstanding the issue.
I did some digging into waitqueue semantics. AFAICT
wake_up_interruptible() will wake all non-exclusive waiters, and up to
one exclusive waiter. In our case all waiters are non-exclusive
(ignoring epoll with EPOLLEXCLUSIVE).
I do believe there is a different way to fix this, which is a bit more
elegant. I've sent a v2.
Best
Lorenz
Powered by blists - more mailing lists