linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Christian Hoff <christian.hoff@de.ibm.com>
Cc: linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	rusty@rustcorp.com.au, mst@redhat.com, kvm@vger.kernel.org
Subject: Re: Pe: [PATCH v5 1/3] virtio-scsi: first version
Date: Tue, 07 Feb 2012 10:54:54 +0100	[thread overview]
Message-ID: <4F30F4EE.4080607@redhat.com> (raw)
In-Reply-To: <OF2D939B55.7C07E33B-ONC125799C.0032B83A-C125799C.0036282C@de.ibm.com>

On 02/06/2012 10:51 AM, Christian Hoff wrote:
> Hello Paolo,
>
> first let me say that your patch is working fine on my local clone of the
> qemu repository.
>
> Let me ask just one question about the format of the data being
> transmitted over the virtqueue.
>
> Paolo Bonzini wrote:
> +                cmd->req.cmd = (struct virtio_scsi_cmd_req){
> +                                .lun[0] = 1,
> +                                .lun[1] = sc->device->id,
> +                                .lun[2] = (sc->device->lun>>  8) | 0x40,
> +                                .lun[3] = sc->device->lun&  0xff,
> +                               [...]
> +                };
>
> Can't we have seperate fields for the SCSI target ID and the LUN number
> here? Putting all this into a single field seems confusing. The following
> line of code (sc->device->lun>>  8) | 0x40 essentially means that LUN
> numbers will be limited to 8+6 Bits=14 Bits for no obvious reason that I
> can see. Maybe we could just split the LUN field up into two uint32 fields
> for target ID and LUN number?

The 14-bit limitation can be lifted.  SAM defines a 24-bit LUN format 
too, but I've never seen it used in practice.

> Also, lun[1] = sc->device->id means that only 255 SCSI target IDs will be
> supported. Think about bigger usage scenarios, such as FCP networks with
> several hundred HBAs in the net. If you want to have the target ID<->HBA
> mapping the same as on the guest as on the host, then 255 virtual target
> IDs could be a limit.

I think you would hit other scalability limitations well before that.  I 
plan to give each target its own MSI-X interrupt, but there is no 
infinite supplies of those either.

VMware only supports 15 targets and 255 LUNs per host, by comparison.  I 
think 255 targets and 16383 LUNs is already several times more than is 
actually needed.  But in any case, we could still use the fixed "1" byte 
to go beyond 255 targets.

> Sorry for coming up so late with these suggestions. I hope there is still
> enough time left to discuss and address these problems.

Sure. :)  I hope the above answer is satisfactory, though.

Paolo

  reply	other threads:[~2012-02-07  9:55 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-06  9:51 Pe: [PATCH v5 1/3] virtio-scsi: first version Christian Hoff
2012-02-07  9:54 ` Paolo Bonzini [this message]
2012-02-07 11:10   ` Michael S. Tsirkin
2012-02-07 11:26     ` Paolo Bonzini
2012-02-07 11:56   ` Christian Borntraeger
2012-02-07 12:31     ` Paolo Bonzini
2012-02-07 13:18       ` Christian Borntraeger
2012-02-07 13:59         ` Christian Hoff
2012-02-07 14:28           ` Paolo Bonzini
2012-02-08 13:37             ` Christian Hoff
2012-02-09  9:25               ` Paolo Bonzini
2012-02-09 12:18                 ` Christian Hoff
2012-02-12 20:16                 ` James Bottomley
2012-02-12 23:41                   ` Rusty Russell
2012-02-13  7:05                   ` Christian Borntraeger
2012-02-13  7:57                     ` Dor Laor
2012-02-13 12:40                       ` Nicholas A. Bellinger
2012-02-13 12:54                         ` Dor Laor
2012-02-13 13:00                           ` Michael S. Tsirkin
2012-02-13 13:13                             ` ronnie sahlberg
2012-02-13 13:17                               ` Paolo Bonzini
2012-02-13 13:18                               ` Michael S. Tsirkin
2012-02-13 15:12                                 ` Hannes Reinecke
2012-02-13 20:42                                   ` ronnie sahlberg
2012-02-13 20:53                                     ` ronnie sahlberg
2012-02-13 22:59                                       ` Michael S. Tsirkin
2012-02-13 23:30                                         ` ronnie sahlberg
2012-02-13 23:33                                           ` Michael S. Tsirkin
2012-02-14  0:49                                             ` ronnie sahlberg
2012-02-14  1:11                                               ` Michael S. Tsirkin
2012-02-14  9:57                                                 ` Paolo Bonzini
2012-02-13 11:08                     ` Bart Van Assche
2012-02-13  9:19                   ` Paolo Bonzini
2012-02-14  0:07                     ` Rusty Russell

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=4F30F4EE.4080607@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=christian.hoff@de.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=rusty@rustcorp.com.au \
    /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).