1. 05 9月, 2009 2 次提交
  2. 23 8月, 2009 2 次提交
    • V
      [SCSI] fcoe: removes phys_dev and renames real_dev to netdev. · 1d1b88dc
      Vasu Dev 提交于
      The phys_dev was used only to locate common offload EM instance for all
      FCoE instances on a eth devices in function fcoe_em_config, so just updated
      fcoe_em_config to look for actual real eth device in locating common offload
      EM instance and then no need to store phys_dev in fcoe_softc, so removes
      phys_dev from fcoe_softc also.
      
      Renames fcoe_softc real_dev to netdev and updates all its uses to use netdev.
      
      So effectively no functional change, use of single netdev instead phys_dev
      and real_dev saves one pointer memory in fcoe_softc, also real_dev used here
      was confusing with vlan driver terminology since real_dev in vlan driver is
      referred to physical eth device.
      Signed-off-by: NVasu Dev <vasu.dev@intel.com>
      Signed-off-by: NRobert Love <robert.w.love@intel.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      1d1b88dc
    • V
      [SCSI] fcoe, libfc: adds offload EM per eth device with only single xid range per EM · d7179680
      Vasu Dev 提交于
      Updates fcoe_em_config to allocate a single instance of sharable offload
      EM for supported lp->lro_xid per eth device, and then share this EM
      for subsequently more lports creation on same eth device (e.g when using
      VLAN).
      
      Adds tiny fcoe_oem_match function for offload EM to return true for read
      types IO to have read IO exchanges allocated from offload shared EM.
      
      Removes fc_em_alloc_xid function completely which was needed to manage
      two xid ranges within a EM, this is not needed any more with allocation
      of separate sharable offload EM per eth device. Instead this patch adds
      simple xid allocation logic to manage single xid range.
      
      Adds fc_exch_em_alloc with mp->next_xid as cursor to allocate new xid
      from single xid range of EM, uses mp->next_xid instead removed mp->last_xid
      which slightly increase probability of finding empty xid on exch allocation.
      
      Removes restriction of not allowing use of xid zero along with changing
      two xid range change to single xid range.
      
      Makes fc_fcp_ddp_setup calling conditional to only xid allocated from
      shared offload EM.
      Signed-off-by: NVasu Dev <vasu.dev@intel.com>
      Signed-off-by: NRobert Love <robert.w.love@intel.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      d7179680
  3. 22 6月, 2009 1 次提交
  4. 09 6月, 2009 1 次提交
    • V
      [SCSI] fcoe: removes fcoe_watchdog · 1047f221
      Vasu Dev 提交于
      Removes periodic fcoe_watchdog timer used across all fcoe interface
      maintained in fcoe_hostlist instead added new fcoe_queue_timer
      per fcoe interface.
      
      Added timer is armed only when some pending skb need to be flushed
      as oppose to periodic 1 second fcoe_watchdog, since now
      fcoe_queue_timer is used on demand thus set this to 2 jiffies.
      
      Now fcoe_queue_timer is much simple than fcoe_watchdog using lock to
      process all fcoe interface from fcoe_hostlist.
      
      I noticed +ve performance result with using 2 jiffies timer as
      this helps flushing fcoe_pending_queue quickly.
      Signed-off-by: NVasu Dev <vasu.dev@intel.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      1047f221
  5. 03 4月, 2009 2 次提交