From: Sean Christopherson <seanjc@google.com>
To: Kevin Tian <kevin.tian@intel.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
Jason Wang <jasowang@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Alex Williamson <alex.williamson@redhat.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"virtualization@lists.linux.dev"
<virtualization@lists.linux.dev>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Oliver Upton <oliver.upton@linux.dev>,
David Matlack <dmatlack@google.com>,
Like Xu <like.xu.linux@gmail.com>,
Yong He <alexyonghe@tencent.com>
Subject: Re: [PATCH 3/7] irqbypass: Take ownership of producer/consumer token tracking
Date: Thu, 10 Apr 2025 08:51:18 -0700 [thread overview]
Message-ID: <Z_fo9hPpSfpwi5Jn@google.com> (raw)
In-Reply-To: <BN9PR11MB5276385B4F4DB1919D4908CF8CB72@BN9PR11MB5276.namprd11.prod.outlook.com>
On Thu, Apr 10, 2025, Kevin Tian wrote:
> > From: Sean Christopherson <seanjc@google.com>
> > +int irq_bypass_register_consumer(struct irq_bypass_consumer *consumer,
> > + struct eventfd_ctx *eventfd)
> > {
> > struct irq_bypass_consumer *tmp;
> > struct irq_bypass_producer *producer;
> > int ret;
> >
> > - if (!consumer->token ||
> > - !consumer->add_producer || !consumer->del_producer)
> > + if (WARN_ON_ONCE(consumer->token))
> > + return -EINVAL;
> > +
> > + if (!consumer->add_producer || !consumer->del_producer)
> > return -EINVAL;
> >
> > mutex_lock(&lock);
> >
> > list_for_each_entry(tmp, &consumers, node) {
> > - if (tmp->token == consumer->token || tmp == consumer) {
> > + if (tmp->token == eventfd || tmp == consumer) {
> > ret = -EBUSY;
> > goto out_err;
> > }
> > }
>
> the 2nd check 'tmp == consumer' is redundant. If they are equal
> consumer->token is not NULL then the earlier WARN_ON will be
> triggered already.
Oh, nice. Good catch! That check subtly gets dropped on the conversion to
xarray, so it definitely makes sense to remove it in this patch.
next prev parent reply other threads:[~2025-04-10 15:51 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-04 21:14 [PATCH 0/7] irqbypass: Cleanups and a perf improvement Sean Christopherson
2025-04-04 21:14 ` [PATCH 1/7] irqbypass: Drop pointless and misleading THIS_MODULE get/put Sean Christopherson
2025-04-10 7:12 ` Tian, Kevin
2025-04-04 21:14 ` [PATCH 2/7] irqbypass: Drop superfluous might_sleep() annotations Sean Christopherson
2025-04-10 7:13 ` Tian, Kevin
2025-04-04 21:14 ` [PATCH 3/7] irqbypass: Take ownership of producer/consumer token tracking Sean Christopherson
2025-04-10 7:28 ` Tian, Kevin
2025-04-10 15:51 ` Sean Christopherson [this message]
2025-04-10 21:28 ` Alex Williamson
2025-04-10 22:04 ` Sean Christopherson
2025-04-10 22:25 ` Alex Williamson
2025-04-04 21:14 ` [PATCH 4/7] irqbypass: Explicitly track producer and consumer bindings Sean Christopherson
2025-04-10 7:32 ` Tian, Kevin
2025-04-04 21:14 ` [PATCH 5/7] irqbypass: Use paired consumer/producer to disconnect during unregister Sean Christopherson
2025-04-10 7:34 ` Tian, Kevin
2025-04-04 21:14 ` [PATCH 6/7] irqbypass: Use guard(mutex) in lieu of manual lock+unlock Sean Christopherson
2025-04-10 7:34 ` Tian, Kevin
2025-04-04 21:14 ` [PATCH 7/7] irqbypass: Use xarray to track producers and consumers Sean Christopherson
2025-04-07 3:37 ` Binbin Wu
2025-04-10 7:38 ` Tian, Kevin
2025-04-10 14:52 ` Sean Christopherson
2025-04-11 0:09 ` Tian, Kevin
2025-04-08 11:49 ` [PATCH 0/7] irqbypass: Cleanups and a perf improvement Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Z_fo9hPpSfpwi5Jn@google.com \
--to=seanjc@google.com \
--cc=alex.williamson@redhat.com \
--cc=alexyonghe@tencent.com \
--cc=dmatlack@google.com \
--cc=jasowang@redhat.com \
--cc=kevin.tian@intel.com \
--cc=kvm@vger.kernel.org \
--cc=like.xu.linux@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=oliver.upton@linux.dev \
--cc=pbonzini@redhat.com \
--cc=virtualization@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).