public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Alok Kataria <akataria@vmware.com>
To: James Bottomley <James.Bottomley@suse.de>
Cc: Roland Dreier <rdreier@cisco.com>,
	Dmitry Torokhov <dtor@vmware.com>,
	Matthew Wilcox <matthew@wil.cx>,
	Bart Van Assche <bvanassche@acm.org>,
	Robert Love <robert.w.love@intel.com>,
	Randy Dunlap <randy.dunlap@oracle.com>,
	Mike Christie <michaelc@cs.wisc.edu>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Rolf Eike Beer <eike-kernel@sf-tec.de>,
	Maxime Austruy <maustruy@vmware.com>
Subject: Re: [PATCH] SCSI driver for VMware's virtual HBA.
Date: Tue, 01 Sep 2009 17:54:36 +0000	[thread overview]
Message-ID: <1251827676.16169.152.camel@ank32.eng.vmware.com> (raw)
In-Reply-To: <1251826804.12482.47.camel@mulgrave.site>


On Tue, 2009-09-01 at 10:40 -0700, James Bottomley wrote:
> On Tue, 2009-09-01 at 10:25 -0700, Roland Dreier wrote:
> > > Nobody said you had to have the exact same driver for every hypervisor.
> >  > What people are suggesting is that we look at commonalities in the
> >  > interfaces both from a control plane point of view (transport class) and
> >  > from a code sharing point of view (libscsivirt).  However, all the
> >  > hypervisor interfaces I've seen are basically DMA rings ...
> > 
> > I don't think that's anything special about hypervisors though -- pretty
> > much all modern device interfaces are basically DMA rings, aren't they?
> > I'm definitely in favor of common code to handle commonality but on the
> > other hand I don't see what's so special about virtual devices vs. real
> > HW devices.  One the one side we have VMware's closed hypervisor code
> > and on the other side we have vendor XYZ's closed RTL and firmware code.
> 
> But the main difference between actual hardware and hypervisors is the
> fact that to set up a DMA transfer you have to poke registers on the
> card, set up a mailbox and manage queues of commands to the card.  For a
> hypervisor, sending a DMA transaction is a hypercall.

Not really, it depends on how you see it, VMware exports different IO
registers too which need to be bit banged to start some IO. So starting
an IO is not just a hypercall but a series of commands. Look at
pvscsi_kick_io, also the driver and the hypervisor code share the
request rings and completion rings which is quite similar to how a
command-queue is managed for a card. 

Also note that, the way all these things are implemented for each of the
hypervisor devices will differ and getting every hv-vendor to agree on a
common set of things is not very attractive proposition ( atleast, this
I can say from my past experiences).


> 
> Now for most physical drivers, take for example FCP ones, we have a
> common control plane interface (fc transport class), we're evolving a
> frame handling library (libfc) so all the drivers really have are
> specific codes to bit bang the hardware.  Some of the libfc handling is
> actually done in intelligent offload firmware on the HBAs, so some will
> use more or less of the libfc handling (same is true for SAS and
> libsas).  When there's no actual hardware to be bit banged, and no real
> firmware offload, it does make one wonder what would be left unique to
> the driver.
> 
> James
> 

Alok


  reply	other threads:[~2009-09-01 17:54 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-27 23:17 [PATCH] SCSI driver for VMware's virtual HBA Alok Kataria
2009-08-28  6:03 ` Rolf Eike Beer
2009-08-31 17:26   ` Alok Kataria
2009-08-31 18:51     ` Rolf Eike Beer
2009-08-31 21:54       ` Alok Kataria
2009-08-28 21:18 ` Chetan.Loke
2009-08-28 22:30   ` Alok Kataria
2009-08-29 12:04     ` Chetan.Loke
2009-08-31 22:35       ` Alok Kataria
2009-08-31 17:28 ` Alok Kataria
2009-08-31 18:00   ` James Bottomley
2009-08-31 21:53     ` Alok Kataria
2009-09-01 14:23       ` James Bottomley
2009-09-01 16:08         ` Alok Kataria
2009-09-01 16:13           ` Matthew Wilcox
2009-09-01 16:20             ` Boaz Harrosh
2009-09-01 16:47               ` Alok Kataria
2009-09-01 14:26       ` James Bottomley
2009-09-01 11:12     ` Bart Van Assche
2009-09-01 14:17       ` James Bottomley
2009-09-01 16:12       ` Roland Dreier
2009-09-01 16:16         ` Matthew Wilcox
2009-09-01 16:33           ` Dmitry Torokhov
2009-09-01 16:52             ` James Bottomley
2009-09-01 16:59               ` Alok Kataria
2009-09-01 17:25                 ` James Bottomley
2009-09-01 17:41                   ` Alok Kataria
2009-09-01 18:15                     ` James Bottomley
2009-09-02  2:55                       ` Alok Kataria
2009-09-02 15:06                         ` James Bottomley
2009-09-02 17:16                           ` Alok Kataria
2009-09-03 20:03                             ` James Bottomley
2009-09-03 20:31                               ` Dmitry Torokhov
2009-09-03 21:21                                 ` Ric Wheeler
2009-09-03 21:41                                   ` Dmitry Torokhov
2009-09-04  3:28                               ` Alok Kataria
2009-09-01 17:25               ` Roland Dreier
2009-09-01 17:40                 ` James Bottomley
2009-09-01 17:54                   ` Alok Kataria [this message]
2009-09-01 18:38                     ` Christoph Hellwig
2009-09-02  9:50                       ` Bart Van Assche
2009-09-01 16:34         ` Bart Van Assche

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=1251827676.16169.152.camel@ank32.eng.vmware.com \
    --to=akataria@vmware.com \
    --cc=James.Bottomley@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=bvanassche@acm.org \
    --cc=dtor@vmware.com \
    --cc=eike-kernel@sf-tec.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=matthew@wil.cx \
    --cc=maustruy@vmware.com \
    --cc=michaelc@cs.wisc.edu \
    --cc=randy.dunlap@oracle.com \
    --cc=rdreier@cisco.com \
    --cc=robert.w.love@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox