1. 11 9月, 2009 6 次提交
  2. 05 9月, 2009 1 次提交
    • V
      [SCSI] fcoe, libfc: fully makes use of per cpu exch pool and then removes em_lock · b2f0091f
      Vasu Dev 提交于
      1. Updates fcoe_rcv() to queue incoming frames to the fcoe per
         cpu thread on which this frame's exch was originated and simply
         use current cpu for request exch not originated by initiator.
         It is redundant to add this code under CONFIG_SMP, so removes
         CONFIG_SMP uses around this code.
      
      2. Updates fc_exch_em_alloc, fc_exch_delete, fc_exch_find to use
         per cpu exch pools, here fc_exch_delete is rename of older
         fc_exch_mgr_delete_ep since ep/exch are now deleted in pools
         of EM and so brief new name is sufficient and better name.
      
         Updates these functions to map exch id to their index into exch
         pool using fc_cpu_mask, fc_cpu_order and EM min_xid.
         This mapping is as per detailed explanation about this in
         last patch and basically this is just as lower fc_cpu_mask
         bits of exch id as cpu number and upper bit sum of EM min_xid
         and exch index in pool.
      
         Uses pool next_index to keep track of exch allocation from
         pool along with pool_max_index as upper bound of exches array
         in pool.
      
      3. Adds exch pool ptr to fc_exch to free exch to its pool in
         fc_exch_delete.
      
      4. Updates fc_exch_mgr_reset to reset all exch pools of an EM,
         this required adding fc_exch_pool_reset func to reset exches
         in pool and then have fc_exch_mgr_reset call fc_exch_pool_reset
         for each pool within each EM for a lport.
      
      5. Removes no longer needed exches array, em_lock, next_xid, and
         total_exches from struct fc_exch_mgr, these are not needed after
         use of per cpu exch pool, also removes not used max_read,
         last_read from struct fc_exch_mgr.
      
      6. Updates locking notes for exch pool lock with fc_exch lock and
         uses pool lock in exch allocation, lookup and reset.
      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@suse.de>
      b2f0091f
  3. 23 8月, 2009 9 次提交
  4. 22 6月, 2009 1 次提交
  5. 09 6月, 2009 3 次提交
  6. 30 5月, 2009 1 次提交
    • J
      net: convert unicast addr list · ccffad25
      Jiri Pirko 提交于
      This patch converts unicast address list to standard list_head using
      previously introduced struct netdev_hw_addr. It also relaxes the
      locking. Original spinlock (still used for multicast addresses) is not
      needed and is no longer used for a protection of this list. All
      reading and writing takes place under rtnl (with no changes).
      
      I also removed a possibility to specify the length of the address
      while adding or deleting unicast address. It's always dev->addr_len.
      
      The convertion touched especially e1000 and ixgbe codes when the
      change is not so trivial.
      Signed-off-by: NJiri Pirko <jpirko@redhat.com>
      
       drivers/net/bnx2.c               |   13 +--
       drivers/net/e1000/e1000_main.c   |   24 +++--
       drivers/net/ixgbe/ixgbe_common.c |   14 ++--
       drivers/net/ixgbe/ixgbe_common.h |    4 +-
       drivers/net/ixgbe/ixgbe_main.c   |    6 +-
       drivers/net/ixgbe/ixgbe_type.h   |    4 +-
       drivers/net/macvlan.c            |   11 +-
       drivers/net/mv643xx_eth.c        |   11 +-
       drivers/net/niu.c                |    7 +-
       drivers/net/virtio_net.c         |    7 +-
       drivers/s390/net/qeth_l2_main.c  |    6 +-
       drivers/scsi/fcoe/fcoe.c         |   16 ++--
       include/linux/netdevice.h        |   18 ++--
       net/8021q/vlan.c                 |    4 +-
       net/8021q/vlan_dev.c             |   10 +-
       net/core/dev.c                   |  195 +++++++++++++++++++++++++++-----------
       net/dsa/slave.c                  |   10 +-
       net/packet/af_packet.c           |    4 +-
       18 files changed, 227 insertions(+), 137 deletions(-)
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ccffad25
  7. 24 5月, 2009 1 次提交
  8. 21 5月, 2009 1 次提交
  9. 18 5月, 2009 2 次提交
    • V
      fcoe: adds spma mode support · 184dd345
      Vasu Dev 提交于
      If we can find a type NETDEV_HW_ADDR_T_SAN mac address from the
      corresponding netdev for a fcoe interface then sets up added the
      fc->ctlr.spma flag and stores spma mode address in ctl_src_addr.
      
      In case the spma flag is set then:-
      
       1. Adds spma mode MAC address in ctl_src_addr as secondary
          MAC address, the FLOGI for FIP and pre-FIP will go out
          using this address.
       2. Cleans up stored spma MAC address in ctl_src_addr in
          fcoe_netdev_cleanup.
       3. Sets up spma bit in fip_flags for FIP solicitations along
          with exiting FPMA bit setting.
       4. Initialize the FLOGI FIP MAC descriptor to stored spma
          MAC address in ctl_src_addr. This is used as proposed
          FCoE MAC address from initiator along with both SPMA
          and FPMA bit set in FIP solicitation, in response the
          switch may grant any FPMA or SPMA mode MAC address to
          initiator.
      
      Removes FIP descriptor type checking against ELS type
      ELS_FLOGI in fcoe_ctlr_encaps to update a FIP MAC descriptor,
      instead now checks against FIP_DT_FLOGI.
      
      I've tested this with available FPMA-only FCoE switch but
      since data_src_addr is updated using same old code for
      both FPMA and SPMA modes with FIP or pre-FIP links, so added
      SPMA mode will work with SPMA-only switch also provided that
      switch grants a valid MAC address.
      Signed-off-by: NVasu Dev <vasu.dev@intel.com>
      Signed-off-by: NYi Zou <yi.zou@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      184dd345
    • V
      fcoe: consolidates netdev related config and cleanup for spma mode · ab6b85c1
      Vasu Dev 提交于
      Currently fcoe_netdev_config adds netdev pkt handler for fcoe pkts,
      fcoe_if_create adds netdev pkt handler for fip packets, a secondary
      MAC address is added by fcoe_netdev_config and then later cleanup
      for these netdev related config/adds is done only during
      fcoe_if_destroy and no cleanup done on error during fcoe interface
      creation after above netdev config calling in fcoe_if_create.
      
      So this patch adds single func for above mentioned cleanup the
      fcoe_netdev_cleanup and then calls this func on either fcoe interface
      destroy or exiting from fcoe_if_create due to an error after fcoe/fip
      related above netdev config is done.
      
      Moved netdev pkt handler addition code blocks for fip pkts close to
      similar code block for foce pkt in fcoe_netdev_config, so that added
      fcoe_netdev_cleanup could be called on error from fcoe_netdev_config
      to undo these both additions for fcoe/fip pkt handlers. This move
      required reference to fcoe_fip_recv in fcoe_netdev_config, so moved
      fip related functions fcoe_fip_recv, fcoe_fip_send and
      fcoe_update_src_mac above fcoe_netdev_config.
      
      This consolidation will enable spma mode support in next patch to
      easily add or delete spma mode mac address beside fixing current
      no cleanup issue during error.
      Signed-off-by: NVasu Dev <vasu.dev@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ab6b85c1
  10. 27 4月, 2009 4 次提交
  11. 03 4月, 2009 11 次提交