RE: [PATCH] SCSI driver for VMware's virtual HBA - V3.

From: Chetan . Loke
Date: Wed Sep 09 2009 - 18:49:38 EST


> -----Original Message-----
> From: Alok Kataria [mailto:akataria@xxxxxxxxxx]
> Sent: Tuesday, September 08, 2009 9:08 PM
> To: Loke,Chetan
> Cc: brking@xxxxxxxxxxxxxxxxxx; James.Bottomley@xxxxxxx; eike-kernel@sf-
> tec.de; matthew@xxxxxx; rdreier@xxxxxxxxx; bvanassche@xxxxxxx;
> robert.w.love@xxxxxxxxx; randy.dunlap@xxxxxxxxxx; michaelc@xxxxxxxxxxx;
> linux-scsi@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; akpm@linux-
> foundation.org; pv-drivers@xxxxxxxxxx
> Subject: RE: [PATCH] SCSI driver for VMware's virtual HBA - V3.
>
> Hi Chetan,
>
> > Alok,
> >
> > (This is just a optimization.You don't need it in order to get your
> > code merged upstream.You can always patch it later on)In fact hw_lock
> > should be split into two locks -
> >
> > req_path_lock(aka tx_lock) and
> > cmpl_path_lock(aka rx_lock).
> >
> > You can then have a full-duplex channel.
> >
> > Revised-code -
> > ::pvscsi_acquire_context->spin_lock_irqsave(tx_lock)
> > ::pvscsi_isr->spin_lock_irqsave(rx_lock)
> > ::some_future_napi_style_pvrx_poll_func->spin_lock_irqsave(rx_lock)
> >
> > ::for aborts synchronize on the rx_lock so that you know what's
> > completed and what's not.
> >
>



> I agree about the optimization. Though IMO this will be more attractive
> once we have a device which supports multiple queue pairs.

lpfc driver has native multi-ring support. It won't create hundred's of ring-pairs but the stuff that's present is good enough to start with(at least for this generation).


> Anyways, let me keep this on my plate, I will check how much of an
> benefit this gets us and will decide if this should be done, but as you
> suggested this is for later.
>

I keep forgetting that this is a pv-driver.So, to reap the benefits of the multi-ring arch, the plumbing should be present in your hypervisor/kernel and NOT in the guest-world.


> Thanks for taking a look.
No worries.


>
> --Alok


Chetan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/