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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: linux-kernel-owner@xxxxxxxxxxxxxxx [mailto:linux-kernel-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Brian King
> Sent: Thursday, September 03, 2009 5:53 PM
> To: akataria@xxxxxxxxxx
> Cc: James Bottomley; Rolf Eike Beer; Matthew Wilcox; Roland Dreier; Bart
> Van Assche; Robert Love; Randy Dunlap; Mike Christie; linux-
> scsi@xxxxxxxxxxxxxxx; LKML; Andrew Morton; pv-drivers@xxxxxxxxxx
> Subject: Re: [PATCH] SCSI driver for VMware's virtual HBA - V3.
> 
> Alok Kataria wrote:
> > +
> > +struct pvscsi_adapter {
> > +	char			*mmioBase;
> > +	unsigned int		irq;
> > +	u8			rev;
> > +	bool			use_msi;
> > +	bool			use_msix;
> > +	bool			use_msg;
> > +
> > +	spinlock_t		hw_lock;
> 
> Why not just use host_lock in the scsi_host structure?
> 

Why not an adapter_resource_lock? Why block everyone @ the scsi-mid layer. 

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.

This is the kind of common code that should be provided by the bottom edge of the scsi-layer so that all the scsi-LLDD's can split their tx/rx paths!




> Brian King
> Linux on Power Virtualization
> IBM Linux Technology Center
> 


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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux