[<prev] [next>] [day] [month] [year] [list]
Message-ID: <d76f08d4-a653-1eb6-bf4f-050f6068753d@redhat.com>
Date: Mon, 26 Jul 2021 13:03:15 +0200
From: Paolo Bonzini <pbonzini@...hat.com>
To: Hillf Danton <hdanton@...a.com>
Cc: Thomas Gleixner <tglx@...utronix.de>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
"Michael S. Tsirkin" <mst@...hat.com>, linux-mm@...ck.org,
LKML <linux-kernel@...r.kernel.org>,
Al Viro <viro@...iv.linux.org.uk>
Subject: Re: 5.13-rt1 + KVM = WARNING: at fs/eventfd.c:74 eventfd_signal()
On 24/07/21 06:33, Hillf Danton wrote:
> lock WQ
> count += n
> no waiter
> unlock WQ
Ok, this is a write.
>
> lock WQ
> add waiter for EPOLLIN
> unlock WQ
This is eventfd_poll(). It hasn't yet returned EPOLLIN.
> lock WQ
> count = 0
> wakeup EPOLLOUT
> unlock WQ
This is a read().
> lock WQ
> count += n
> no waiter
> unlock WQ
This is wrong; after "unlock WQ" in CPU3 there *is* a waiter, no one has
waked it up yet.
Paolo
> ------------------------------- c1 = count
Powered by blists - more mailing lists