1. 27 1月, 2012 1 次提交
  2. 24 1月, 2012 2 次提交
  3. 17 1月, 2012 1 次提交
  4. 17 12月, 2011 1 次提交
  5. 07 12月, 2011 2 次提交
  6. 29 11月, 2011 2 次提交
  7. 15 11月, 2011 1 次提交
    • E
      bnx2x: uses build_skb() in receive path · e52fcb24
      Eric Dumazet 提交于
      bnx2x uses following formula to compute its rx_buf_sz :
      
      dev->mtu + 2*L1_CACHE_BYTES + 14 + 8 + 8 + 2
      
      Then core network adds NET_SKB_PAD and SKB_DATA_ALIGN(sizeof(struct
      skb_shared_info))
      
      Final allocated size for skb head on x86_64 (L1_CACHE_BYTES = 64,
      MTU=1500) : 2112 bytes : SLUB/SLAB round this to 4096 bytes.
      
      Since skb truesize is then bigger than SK_MEM_QUANTUM, we have lot of
      false sharing because of mem_reclaim in UDP stack.
      
      One possible way to half truesize is to reduce the need by 64 bytes
      (2112 -> 2048 bytes)
      
      Instead of allocating a full cache line at the end of packet for
      alignment, we can use the fact that skb_shared_info sits at the end of
      skb->head, and we can use this room, if we convert bnx2x to new
      build_skb() infrastructure.
      
      skb_shared_info will be initialized after hardware finished its
      transfert, so we can eventually overwrite the final padding.
      
      Using build_skb() also reduces cache line misses in the driver, since we
      use cache hot skb instead of cold ones. Number of in-flight sk_buff
      structures is lower, they are recycled while still hot.
      
      Performance results :
      
      (820.000 pps on a rx UDP monothread benchmark, instead of 720.000 pps)
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      CC: Eilon Greenstein <eilong@broadcom.com>
      CC: Ben Hutchings <bhutchings@solarflare.com>
      CC: Tom Herbert <therbert@google.com>
      CC: Jamal Hadi Salim <hadi@mojatatu.com>
      CC: Stephen Hemminger <shemminger@vyatta.com>
      CC: Thomas Graf <tgraf@infradead.org>
      CC: Herbert Xu <herbert@gondor.apana.org.au>
      CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
      Acked-by: NEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e52fcb24
  8. 09 11月, 2011 1 次提交
  9. 28 10月, 2011 1 次提交
  10. 08 10月, 2011 1 次提交
  11. 17 9月, 2011 1 次提交
  12. 18 8月, 2011 1 次提交
  13. 11 8月, 2011 1 次提交
    • J
      broadcom: Move the Broadcom drivers · adfc5217
      Jeff Kirsher 提交于
      Moves the drivers for Broadcom devices into
      drivers/net/ethernet/broadcom/ and the necessary Kconfig and Makefile
      changes.
      
      CC: Eilon Greenstein <eilong@broadcom.com>
      CC: Michael Chan <mchan@broadcom.com>
      CC: Matt Carlson <mcarlson@broadcom.com>
      CC: Gary Zambrano <zambrano@broadcom.com>
      CC: "Maciej W. Rozycki" <macro@linux-mips.org>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      adfc5217
  14. 22 7月, 2011 1 次提交
  15. 20 7月, 2011 1 次提交
  16. 15 7月, 2011 1 次提交
    • A
      bnx2x: Multiple concurrent l2 traffic classes · 6383c0b3
      Ariel Elior 提交于
      Overview:
       Support mapping of priorities to traffic classes and
       traffic classes to transmission queues ranges in the net device.
       The queue ranges are (count, offset) pairs relating to the txq
       array.
       This can be done via DCBX negotiation or by kernel.
       As a result Enhanced Transmission Selection (ETS) and Priority Flow
       Control (PFC) are supported between L2 network traffic classes.
      
       Mapping:
       This patch uses the netdev_set_num_tc, netdev_set_prio_tc_map and
       netdev_set_tc_queue functions to map priorities to traffic classes
       and traffic classes to transmission queue ranges.
       This mapping is performed by bnx2x_setup_tc function which is
       connected to the ndo_setup_tc.
       This function is always called at nic load where by default it
       maps all priorities to tc 0, and it may also be called by the
       kernel or by the bnx2x upon DCBX negotiation to modify the mapping.
      
       rtnl lock:
       When the ndo_setup_tc is called at nic load or by kernel the rtnl
       lock is already taken. However, when DCBX negotiation takes place
       the lock is not taken. The work is therefore scheduled to be
       handled by the sp_rtnl task.
      
       Fastpath:
       The fastpath structure of the bnx2x which was previously used
       to hold the information of one tx queue and one rx queue was
       redesigned to represent multiple tx queues, one for each traffic
       class.
       The transmission queue supplied in the skb by the kernel can no
       longer be interpreted as a straightforward index into the fastpath
       structure array, but it must rather be decoded to the appropriate
       fastpath index and the tc within that fastpath.
      
       Slowpath:
       The bnx2x's queue object was redesigned to accommodate multiple
       transmission queues. The queue object's state machine was enhanced
       to allow opening multiple transmission-only connections on top of
       the regular tx-rx connection.
      
       Firmware:
       This feature relies on the tx-only queue feature introduced in the
       bnx2x 7.0.23 firmware and the FW likewise must have the bnx2x multi
       cos support.
      Signed-off-by: NAriel Elior <ariele@broadcom.com>
      Signed-off-by: NEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6383c0b3
  17. 15 6月, 2011 6 次提交
  18. 02 6月, 2011 1 次提交
  19. 06 5月, 2011 2 次提交
  20. 18 4月, 2011 2 次提交
  21. 15 4月, 2011 1 次提交
    • A
      ethtool: allow custom interval for physical identification · fce55922
      Allan, Bruce W 提交于
      When physical identification of an adapter is done by toggling the
      mechanism on and off through software utilizing the set_phys_id operation,
      it is done with a fixed duration for both on and off states.  Some drivers
      may want to set a custom duration for the on/off intervals.  This patch
      changes the API so the return code from the driver's entry point when it
      is called with ETHTOOL_ID_ACTIVE can specify the frequency at which to
      cycle the on/off states, and updates the drivers that have already been
      converted to use the new set_phys_id and use the synchronous method for
      identifying an adapter.
      
      The physical identification frequency set in the updated drivers is based
      on how it was done prior to the introduction of set_phys_id.
      
      Compile tested only.  Also fixes a compiler warning in sfc.
      
      v2: drivers do not return -EINVAL for ETHOOL_ID_ACTIVE
      v3: fold patchset into single patch and cleanup per Ben's feedback
      Signed-off-by: NBruce Allan <bruce.w.allan@intel.com>
      Cc: Ben Hutchings <bhutchings@solarflare.com>
      Cc: Sathya Perla <sathya.perla@emulex.com>
      Cc: Subbu Seetharaman <subbu.seetharaman@emulex.com>
      Cc: Ajit Khaparde <ajit.khaparde@emulex.com>
      Cc: Michael Chan <mchan@broadcom.com>
      Cc: Eilon Greenstein <eilong@broadcom.com>
      Cc: Divy Le Ray <divy@chelsio.com>
      Cc: Don Fry <pcnet32@frontier.com>
      Cc: Jon Mason <jdmason@kudzu.us>
      Cc: Solarflare linux maintainers <linux-net-drivers@solarflare.com>
      Cc: Steve Hodgson <shodgson@solarflare.com>
      Cc: Stephen Hemminger <shemminger@linux-foundation.org>
      Cc: Matt Carlson <mcarlson@broadcom.com>
      Acked-by: NJon Mason <jdmason@kudzu.us>
      Acked-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fce55922
  22. 13 4月, 2011 1 次提交
    • M
      net: bnx2x: convert to hw_features · 66371c44
      Michał Mirosław 提交于
      Since ndo_fix_features callback is postponing features change when
      bp->recovery_state != BNX2X_RECOVERY_DONE, netdev_update_features()
      has to be called again when this condition changes. Previously,
      ethtool_ops->set_flags callback returned -EBUSY in that case
      (it's not possible in the new model).
      Signed-off-by: NMichał Mirosław <mirq-linux@rere.qmqm.pl>
      
      v5: - don't delay set_features, as it's rtnl_locked - same as recovery process
      v4: - complete bp->rx_csum -> NETIF_F_RXCSUM conversion
          - add check for failed ndo_set_features in ndo_open callback
      v3: - include NETIF_F_LRO in hw_features
          - don't call netdev_update_features() if bnx2x_nic_load() failed
      v2: - comment in ndo_fix_features callback
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      66371c44
  23. 07 4月, 2011 1 次提交
  24. 07 3月, 2011 1 次提交
  25. 01 3月, 2011 3 次提交
  26. 18 2月, 2011 1 次提交
  27. 07 2月, 2011 1 次提交
  28. 10 1月, 2011 1 次提交