qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Nir Soffer <nsoffer@redhat.com>,
	qemu-devel@nongnu.org, qemu-stable@nongnu.org
Subject: Re: [PATCH 2/6] virtio-scsi: don't waste CPU polling the event virtqueue
Date: Sat, 30 Apr 2022 06:52:45 +0100	[thread overview]
Message-ID: <YmzOrb/zE/UgljtS@stefanha-x1.localdomain> (raw)
In-Reply-To: <ca28d5bf-5bd6-e002-c420-ed9b98989555@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 875 bytes --]

On Fri, Apr 29, 2022 at 01:17:05AM +0200, Paolo Bonzini wrote:
> On 4/27/22 16:35, Stefan Hajnoczi wrote:
> > This is typical for rx virtqueues where the device uses buffers when
> > some event occurs (e.g. a packet is received, an error condition
> > happens, etc).
> > 
> > Polling non-empty virtqueues wastes CPU cycles. We are not waiting for
> > new buffers to become available, we are waiting for an event to occur,
> > so it's a misuse of CPU resources to poll for buffers.
> 
> Shouldn't polling wait for _used_ buffers, rather than available ones?
> 
> I agree that it's generally useless to poll the event queue, but not because
> it doesn't empty the virtqueue.

This is device emulation code, not driver code. It's the device that
uses buffers and the driver that waits for used buffers. So the device
shouldn't poll for used buffers.

Stefan

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2022-04-30  5:55 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-27 14:35 [PATCH 0/6] virtio-scsi: fix 100% CPU consumption in IOThread Stefan Hajnoczi
2022-04-27 14:35 ` [PATCH 1/6] virtio-scsi: fix ctrl and event handler functions in dataplane mode Stefan Hajnoczi
2022-04-27 19:47   ` Michael Tokarev
2022-04-28  9:05     ` Stefan Hajnoczi
2022-04-28 23:18   ` Paolo Bonzini
2022-04-27 14:35 ` [PATCH 2/6] virtio-scsi: don't waste CPU polling the event virtqueue Stefan Hajnoczi
2022-04-27 20:12   ` Nir Soffer
2022-04-28  9:05     ` Stefan Hajnoczi
2022-04-28 23:17   ` Paolo Bonzini
2022-04-30  5:52     ` Stefan Hajnoczi [this message]
2022-04-27 14:35 ` [PATCH 3/6] virtio-scsi: clean up virtio_scsi_handle_event_vq() Stefan Hajnoczi
2022-04-28 23:17   ` Paolo Bonzini
2022-04-27 14:35 ` [PATCH 4/6] virtio-scsi: clean up virtio_scsi_handle_ctrl_vq() Stefan Hajnoczi
2022-04-28 23:17   ` Paolo Bonzini
2022-04-27 14:35 ` [PATCH 5/6] virtio-scsi: clean up virtio_scsi_handle_cmd_vq() Stefan Hajnoczi
2022-04-28 23:17   ` Paolo Bonzini
2022-04-27 14:35 ` [PATCH 6/6] virtio-scsi: move request-related items from .h to .c Stefan Hajnoczi
2022-04-28 23:17   ` Paolo Bonzini
2022-05-09  9:45 ` [PATCH 0/6] virtio-scsi: fix 100% CPU consumption in IOThread Stefan Hajnoczi

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=YmzOrb/zE/UgljtS@stefanha-x1.localdomain \
    --to=stefanha@redhat.com \
    --cc=nsoffer@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-stable@nongnu.org \
    /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).