lkml.org 
[lkml]   [2009]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRE: [PATCH] SCSI driver for VMware's virtual HBA - V3.
    > -----Original Message-----
    > From: linux-kernel-owner@vger.kernel.org [mailto:linux-kernel-
    > owner@vger.kernel.org] On Behalf Of Brian King
    > Sent: Thursday, September 03, 2009 5:53 PM
    > To: akataria@vmware.com
    > Cc: James Bottomley; Rolf Eike Beer; Matthew Wilcox; Roland Dreier; Bart
    > Van Assche; Robert Love; Randy Dunlap; Mike Christie; linux-
    > scsi@vger.kernel.org; LKML; Andrew Morton; pv-drivers@vmware.com
    > 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


    \
     
     \ /
      Last update: 2009-09-04 00:25    [W:0.024 / U:33.004 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site