All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: qemu-devel <qemu-devel@nongnu.org>,
	Hannes Reinecke <hare@suse.de>,
	Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Subject: Re: [Qemu-devel] virtio-scsi spec, first public draft
Date: Fri, 06 May 2011 14:48:20 +0200	[thread overview]
Message-ID: <4DC3EE14.1060109@redhat.com> (raw)
In-Reply-To: <BANLkTinu9fv1=f9waddJPXtjoPhYM7sd8A@mail.gmail.com>

On 05/06/2011 02:31 PM, Stefan Hajnoczi wrote:
> Okay, this explains how you plan to handle targets appearing - you
> want to set a maximum number of targets.  I was wondering how we would
> add virtqueues dynamically (and why the control vqs are placed last at
> n,n+1 instead of 0,1).

You don't, it's not in the spec.  On the other hand, I don't think a 
limit on the number of targets is imposing, and the limit that virtio 
places is more theoretical than practical.

(Control virtqueues are last simply to avoid +2 and -2 all over the place).

> I'm really not sure I understand the win of creating lots of
> virtqueues.  I just want a pipe out onto the SCSI bus so I can talk to
> all devices in the SCSI domain.  Creating separate virtqueues
> increases complexity in the driver and emulation IMO.

In the driver, probably.  Emulation shouldn't change much, there's so 
little to do in the end in a PV HBA emulation if you have a proper SCSI 
subsystem and the protocol is a simple transport or reasonably close.

> What is the MSI-X win you mentioned?  I guess if an application on
> vcpu0 is accessing target0 a lot then interrupt handling can be
> handled on vcpu0 while other vcpus handle interrupts for other SCSI
> targets?

Yes, possibly.  But I think the main benefit is in resiliency.  If one 
target malfunctions and timeouts, other targets still work normally 
until the SCSI layer decides to reset that target.

> I remember VMware pv scsi has a trick here, each request can
> contain the vcpu number which influences interrupt routing somehow.

I don't think it works under Linux though, it depends on how the OS sets 
up the APICs.

Paolo

  reply	other threads:[~2011-05-06 12:48 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-04 22:28 [Qemu-devel] virtio-scsi spec, first public draft Paolo Bonzini
2011-05-05  9:43 ` Stefan Hajnoczi
2011-05-05 12:49   ` Paolo Bonzini
2011-05-05 14:29     ` Hannes Reinecke
2011-05-05 14:50       ` Paolo Bonzini
2011-05-06 12:31         ` Stefan Hajnoczi
2011-05-06 12:48           ` Paolo Bonzini [this message]
2011-05-05 12:50 ` Christoph Hellwig
2011-05-05 12:52   ` Paolo Bonzini

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=4DC3EE14.1060109@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=hare@suse.de \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    --cc=stefanha@linux.vnet.ibm.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.