1. 03 6月, 2014 1 次提交
    • A
      enic: Update driver to use __dev_uc/mc_sync/unsync calls · f009618a
      Alexander Duyck 提交于
      This change updates the enic driver to make use of __dev_uc_sync and
      __dev_mc_sync calls.  Previously the driver was doing its own list
      management by storing the mc_addr and uc_addr list in a 32 address array.
      With this change the sync data is stored in the netdev_addr_list structures
      and instead we just track how many addresses we have written to the device.
      When we encounter 32 we stop and print a message as occurred previously with
      the old approach.
      
      Other than the core change the only other bit needed was to propagate the
      constant attribute with the MAC address as there were several spots where
      is twas only passed as a u8 * instead of a const u8 *.
      
      This patch is meant to maintain the original functionality without the use
      of the mc_addr and uc_addr arrays.
      Signed-off-by: NAlexander Duyck <alexander.h.duyck@intel.com>
      Acked-by: NGovindarajulu Varadarajan <_govind@gmx.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f009618a
  2. 31 5月, 2014 1 次提交
  3. 22 5月, 2014 1 次提交
    • S
      enic: Add support for adaptive interrupt coalescing · 7c2ce6e6
      Sujith Sankar 提交于
      This patch adds support for adaptive interrupt coalescing.
      
      For small pkts with low pkt rate, we can decrease the coalescing interrupt
      dynamically which decreases the latency. This however increases the cpu
      utilization. Based on testing with different coal intr and pkt rate we came up
      with a table(mod_table) with rx_rate and coalescing interrupt value where we
      get low latency without significant increase in cpu. mod_table table stores
      the coalescing timer percentage value for different throughputs.
      
      Function enic_calc_int_moderation() calculates the desired coalescing intr timer
      value. This function is called in driver rx napi_poll. The actual value is set
      by enic_set_int_moderation() which is called when napi_poll is complete. i.e
      when we unmask the rx intr.
      
      Adaptive coal intr is support only when driver is using msix intr. Because
      intr is not shared.
      
      Struct mod_range is used to store only the default adaptive coalescing intr
      value.
      
      Adaptive coal intr calue is calculated by
      
      timer = range_start + ((rx_coal->range_end - range_start) *
      		       mod_table[index].range_percent / 100);
      
      rx_coal->range_end is the rx-usecs-high value set using ethtool.
      range_start is rx-usecs-low, set using ethtool, if rx_small_pkt_bytes_cnt is
      greater than 2 * rx_large_pkt_bytes_cnt. i.e small pkts are dominant. Else its
      rx-usecs-low + 3.
      
      Cc: Christian Benvenuti <benve@cisco.com>
      Cc: Neel Patel <neepatel@cisco.com>
      Signed-off-by: NSujith Sankar <ssujith@cisco.com>
      Signed-off-by: NGovindarajulu Varadarajan <_govind@gmx.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7c2ce6e6
  4. 14 5月, 2014 1 次提交
  5. 04 4月, 2014 1 次提交
  6. 25 3月, 2014 1 次提交
  7. 15 3月, 2014 1 次提交
  8. 19 2月, 2014 1 次提交
  9. 01 1月, 2014 1 次提交
  10. 19 12月, 2013 1 次提交
  11. 18 10月, 2013 1 次提交
  12. 06 9月, 2013 5 次提交
  13. 21 8月, 2013 3 次提交
  14. 25 7月, 2013 1 次提交
  15. 10 7月, 2013 1 次提交
  16. 20 4月, 2013 3 次提交
  17. 09 4月, 2013 1 次提交
  18. 19 1月, 2013 1 次提交
  19. 04 1月, 2013 1 次提交
  20. 08 12月, 2012 1 次提交
  21. 04 12月, 2012 1 次提交
  22. 20 11月, 2012 1 次提交
  23. 11 7月, 2012 1 次提交
  24. 11 5月, 2012 1 次提交
    • J
      drivers/net: Convert compare_ether_addr to ether_addr_equal · 2e42e474
      Joe Perches 提交于
      Use the new bool function ether_addr_equal to add
      some clarity and reduce the likelihood for misuse
      of compare_ether_addr for sorting.
      
      Done via cocci script:
      
      $ cat compare_ether_addr.cocci
      @@
      expression a,b;
      @@
      -	!compare_ether_addr(a, b)
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	compare_ether_addr(a, b)
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!ether_addr_equal(a, b) == 0
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!ether_addr_equal(a, b) != 0
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	ether_addr_equal(a, b) == 0
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	ether_addr_equal(a, b) != 0
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!!ether_addr_equal(a, b)
      +	ether_addr_equal(a, b)
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2e42e474
  25. 14 4月, 2012 1 次提交
  26. 02 4月, 2012 1 次提交
  27. 08 3月, 2012 1 次提交
  28. 02 3月, 2012 1 次提交
  29. 25 2月, 2012 1 次提交
  30. 20 2月, 2012 3 次提交