All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
Cc: Jens Axboe <axboe@kernel.dk>,
	Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
	kvm-devel <kvm@vger.kernel.org>, Zhi Yong Wu <wuzhy@cn.ibm.com>,
	Anthony Liguori <aliguori@linux.vnet.ibm.com>,
	target-devel <target-devel@vger.kernel.org>,
	linux-scsi <linux-scsi@vger.kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	lf-virt <virtualization@lists.linux-foundation.org>,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [RFC-v2 0/4] tcm_vhost+cmwq fabric driver code for-3.6
Date: Wed, 18 Jul 2012 01:18:14 +0300	[thread overview]
Message-ID: <20120717221814.GH1868__26029.4226617136$1342563497$gmane$org@redhat.com> (raw)
In-Reply-To: <1342562528.18004.480.camel@haakon2.linux-iscsi.org>

On Tue, Jul 17, 2012 at 03:02:08PM -0700, Nicholas A. Bellinger wrote:
> On Wed, 2012-07-18 at 00:34 +0300, Michael S. Tsirkin wrote:
> > On Tue, Jul 17, 2012 at 02:17:22PM -0700, Nicholas A. Bellinger wrote:
> > > On Tue, 2012-07-17 at 18:05 +0300, Michael S. Tsirkin wrote:
> > > > On Wed, Jul 11, 2012 at 09:15:00PM +0000, Nicholas A. Bellinger wrote:
> > > > > From: Nicholas Bellinger <nab@linux-iscsi.org>
> 
> <SNIP>
> 
> > > I'm happy to commit to working with QEMU + kvm-tool folks to get to a
> > > series that can (eventually) see vhost-scsi support merged into upstream
> > > userspace code.
> > > 
> > > It took roughly 2 years to get the megasas HBA emulation from Dr. Hannes
> > > merged, but certainly vhost-scsi has alot less moving pieces and
> > > hopefully alot less controversial bits than the buffer -> SGL
> > > conversion..  The key word being here 'hopefully'..  ;)
> > > 
> > > > I think a good idea for 3.6 would be to make it depend on CONFIG_STAGING.
> > > > Then we don't commit to an ABI.
> > > > For this, you can add a separate Kconfig and source it from drivers/staging/Kconfig.
> > > > Maybe it needs to be in a separate directory drivers/vhost/staging/Kconfig.
> > > > 
> > > 
> > > So tcm_vhost has been marked as Experimental following virtio-scsi.
> > > 
> > > Wrt to staging, I'd like to avoid mucking with staging because:
> > > 
> > > *) The code has been posted for review
> > > *) The code has been converted to use the latest target-core primitives
> > > *) The code does not require cleanups between staging -> merge
> > > *) The code has been stable the last 7 days since RFC-v2 with heavy 
> > 
> > staging is not just for code that needs cleanups.
> > It's for anything that does not guarantee ABI stability yet.
> > And I think it's a bit early to guarantee ABI stability - 7 days
> > is not all that long.
> > 
> 
> I was talking about the new I/O path has been running for 7 days.
> 
> > See for example Anthony's comments that raise exactly the ABI
> > issues.
> > 
> 
> As mentioned in the response to Anthony, we are using the same generic
> fabric ABI in drivers/target/target_core_fabric_configfs.c since .38.
> 
> That part is not going to change, and it has not changed for any of the
> other 7 target fabric modules we've merged into mainline since then.
> 
> > > Also, tcm_vhost has been marked as Experimental following virtio-scsi.
> > > I'd much rather leave it at Experimental until we merge upstream
> > > userspace support.   If userspace support never ends up materializing,
> > > I'm fine with dropping it all together.
> > 
> > Once it's in kernel you never know who will use this driver.
> > Experimental does not mean driver can be dropped, staging does.
> > 
> 
> Yes, that's the point of being in mainline.  People using the code,
> right..?

Exactly. I am just worried about in the end being no major users and we
are being stuck with a niche driver that as a result is very hard to test.
And the reason for the fear is the initial negative reaction from the
qemu side.  And no if it's there we can't just drop it.

> > > However at this point given that there is a 3x performance gap between
> > > virtio-scsi-raw + virtio-scsi+tcm_vhost for random mixed small block
> > > I/O, and we still need the latter to do proper SCSI CDB passthrough for
> > > non TYPE_DISK devices I'm hoping that we can agree on userspace bits
> > > once tcm_vhost is merged.
> > > 
> > > --nab
> > 
> > I do think upstream kernel would help you nail userspace issues too
> > but at this point it looks like either staging meterial or 3.6 is too
> > early.
> > 
> 
> I think for-3.6 is just the right time for this kernel code.  Seriously,
> The basic ABI fabric layout for /sys/kernel/config/target/vhost/ is
> going to be the same now for-3.6, the same for-3.7, and the same for .38
> code. 
> 
> I'd be happy to move tcm_vhost back to drivers/target/ for now, and we
> move it to drivers/vhost/ once the userspace bits are worked out..?
> 
> Would that be a reasonable compromise to move forward..?
> 
> --nab

I don't see how it helps.  The driver is either a guaranteed ABI or not.
I'd prefer not to have vhost users outside drivers/vhost/ since it is
harder for me to keep track of them.

What's the problem with staging proposal? It's just another hoop to jump
through to enable it?

-- 
MST

  reply	other threads:[~2012-07-17 22:18 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-11 21:15 [RFC-v2 0/4] tcm_vhost+cmwq fabric driver code for-3.6 Nicholas A. Bellinger
2012-07-11 21:15 ` [RFC-v2 1/4] vhost: Separate vhost-net features from vhost features Nicholas A. Bellinger
2012-07-11 21:15 ` Nicholas A. Bellinger
2012-07-11 21:15 ` [RFC-v2 2/4] vhost: make vhost work queue visible Nicholas A. Bellinger
2012-07-11 21:15 ` Nicholas A. Bellinger
2012-07-11 21:15 ` [RFC-v2 3/4] vhost: Add vhost_scsi specific defines Nicholas A. Bellinger
2012-07-11 21:15 ` Nicholas A. Bellinger
2012-07-11 21:15 ` [RFC-v2 4/4] tcm_vhost: Initial merge for vhost level target fabric driver Nicholas A. Bellinger
2012-07-11 21:15 ` Nicholas A. Bellinger
2012-07-17 15:05 ` [RFC-v2 0/4] tcm_vhost+cmwq fabric driver code for-3.6 Michael S. Tsirkin
2012-07-17 18:55   ` Anthony Liguori
2012-07-17 19:00     ` Michael S. Tsirkin
2012-07-17 21:50     ` Nicholas A. Bellinger
2012-07-18 13:42       ` Anthony Liguori
2012-07-18 13:42       ` Anthony Liguori
2012-07-18 13:56         ` Paolo Bonzini
2012-07-18 15:33         ` Michael S. Tsirkin
2012-07-18 15:53         ` Christoph Hellwig
2012-07-18 15:53         ` Christoph Hellwig
2012-07-18 16:00           ` Michael S. Tsirkin
2012-07-18 16:42             ` Rustad, Mark D
2012-07-18 17:17               ` Michael S. Tsirkin
2012-07-18 20:12                 ` Rustad, Mark D
2012-07-18 20:12                 ` Rustad, Mark D
2012-07-18 16:42             ` Rustad, Mark D
2012-07-18 16:00           ` Anthony Liguori
2012-07-18 16:00           ` Anthony Liguori
2012-07-18 16:47             ` James Bottomley
2012-07-18 19:12               ` Anthony Liguori
2012-07-19  6:00                 ` Paolo Bonzini
2012-07-19  6:00                 ` Paolo Bonzini
2012-07-19  7:28                   ` James Bottomley
2012-07-19  7:30                     ` Paolo Bonzini
2012-07-18 19:12               ` Anthony Liguori
2012-07-18 22:45         ` Nicholas A. Bellinger
2012-07-18 22:45         ` Nicholas A. Bellinger
2012-07-17 21:17   ` Nicholas A. Bellinger
2012-07-17 21:17   ` Nicholas A. Bellinger
2012-07-17 21:34     ` Michael S. Tsirkin
2012-07-17 22:02       ` Nicholas A. Bellinger
2012-07-17 22:02       ` Nicholas A. Bellinger
2012-07-17 22:18         ` Michael S. Tsirkin [this message]
2012-07-17 22:18         ` Michael S. Tsirkin
2012-07-17 22:37           ` Nicholas A. Bellinger
2012-07-17 23:11             ` Michael S. Tsirkin
2012-07-18  0:17               ` Nicholas A. Bellinger
2012-07-17 21:58     ` Michael S. Tsirkin
2012-07-17 22:04       ` Nicholas A. Bellinger

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='20120717221814.GH1868__26029.4226617136$1342563497$gmane$org@redhat.com' \
    --to=mst@redhat.com \
    --cc=aliguori@linux.vnet.ibm.com \
    --cc=axboe@kernel.dk \
    --cc=hch@lst.de \
    --cc=kvm@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=nab@linux-iscsi.org \
    --cc=pbonzini@redhat.com \
    --cc=stefanha@linux.vnet.ibm.com \
    --cc=target-devel@vger.kernel.org \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=wuzhy@cn.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.