1. 08 Jan, 2016 1 commit
  2. 29 Dec, 2015 2 commits
  3. 12 Dec, 2015 1 commit
  4. 16 Oct, 2015 1 commit
  5. 15 Sep, 2015 1 commit
    • Alexander Duyck's avatar
      ixgbe: Limit lowest interrupt rate for adaptive interrupt moderation to 12K · 8ac34f10
      Alexander Duyck authored
      
      
      This patch updates the lowest limit for adaptive interrupt interrupt
      moderation to roughly 12K interrupts per second.
      
      The way I came about reaching 12K as the desired interrupt rate is by
      testing with UDP flows.  Specifically I had a simple test that ran a
      netperf UDP_STREAM test at varying sizes.  What I found was as the packet
      sizes increased the performance fell steadily behind until we were only
      able to receive at ~4Gb/s with a message size of 65507.  A bit of digging
      found that we were dropping packets for the socket in the network stack,
      and looking at things further what I found was I could solve it by increasing
      the interrupt rate, or increasing the rmem_default/rmem_max.  What I found was
      that when the interrupt coalescing resulted in more data being processed
      per interrupt than could be stored in the socket buffer we started losing
      packets and the performance dropped.  So I reached 12K based on the
      following math.
      
      rmem_default = 212992
      skb->truesize = 2994
      212992 / 2994 = 71.14 packets to fill the buffer
      
      packet rate at 1514 packet size is 812744pps
      71.14 / 812744 = 87.9us to fill socket buffer
      
      From there it was just a matter of choosing the interrupt rate and
      providing a bit of wiggle room which is why I decided to go with 12K
      interrupts per second as that uses a value of 84us.
      
      The data below is based on VM to VM over a direct assigned ixgbe interface.
      The test run was:
      	netperf -H <ip> -t UDP_STREAM"
      
      Socket  Message  Elapsed      Messages                   CPU      Service
      Size    Size     Time         Okay Errors   Throughput   Util     Demand
      bytes   bytes    secs            #      #   10^6bits/sec % SS     us/KB
      Before:
      212992   65507   60.00     1100662      0     9613.4     10.89    0.557
      212992           60.00      473474            4135.4     11.27    0.576
      
      After:
      212992   65507   60.00     1100413      0     9611.2     10.73    0.549
      212992           60.00      974132            8508.3     11.69    0.598
      
      Using bare metal the data is similar but not as dramatic as the throughput
      increases from about 8.5Gb/s to 9.5Gb/s.
      
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@redhat.com>
      Tested-by: default avatarKrishneil Singh <krishneil.k.singh@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      8ac34f10
  6. 01 Sep, 2015 2 commits
  7. 17 Jul, 2015 1 commit
  8. 09 Jun, 2015 2 commits
  9. 28 May, 2015 1 commit
    • John Fastabend's avatar
      ixgbe: Allow flow director to use entire queue space · 7aac8425
      John Fastabend authored
      
      
      Flow director is exported to user space using the ethtool ntuple
      support. However, currently it only supports steering traffic to a
      subset of the queues in use by the hardware. This change allows
      flow director to specify queues that have been assigned to virtual
      functions by partitioning the ring_cookie into a 8bit VF specifier
      followed by 32bit queue index. At the moment we don't have any
      ethernet drivers with more than 2^32 queues on a single function
      as best I can tell and nor do I expect this to happen anytime
      soon. This way the ring_cookie's normal use for specifying a queue
      on a specific PCI function continues to work as expected.
      
      CC: Alex Duyck <alexander.h.duyck@redhat.com>
      Signed-off-by: default avatarJohn Fastabend <john.r.fastabend@intel.com>
      Tested-by: default avatarKrishneil Singh <krishneil.k.singh@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      7aac8425
  10. 04 May, 2015 1 commit
  11. 10 Apr, 2015 1 commit
  12. 31 Mar, 2015 1 commit
  13. 13 Mar, 2015 1 commit
  14. 05 Dec, 2014 1 commit
  15. 11 Nov, 2014 1 commit
  16. 30 Oct, 2014 1 commit
  17. 02 Oct, 2014 1 commit
  18. 12 Sep, 2014 1 commit
  19. 06 Aug, 2014 1 commit
    • Ken Helias's avatar
      list: fix order of arguments for hlist_add_after(_rcu) · 1d023284
      Ken Helias authored
      
      
      All other add functions for lists have the new item as first argument
      and the position where it is added as second argument.  This was changed
      for no good reason in this function and makes using it unnecessary
      confusing.
      
      The name was changed to hlist_add_behind() to cause unconverted code to
      generate a compile error instead of using the wrong parameter order.
      
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: default avatarKen Helias <kenhelias@firemail.de>
      Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>	[intel driver bits]
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1d023284
  20. 20 Jul, 2014 1 commit
  21. 06 Jun, 2014 1 commit
  22. 04 Jun, 2014 1 commit
    • Emil Tantilov's avatar
      ixgbe: fix detection of SFP+ capable interfaces · d9cd46cd
      Emil Tantilov authored
      
      
      In cases where the driver is loaded while there are no SFP+ modules in
      the cage the interface was not being detected as SFP capable. To account
      for this the driver called identify_sfp in ixgbe_get_settings to make
      sure the data is correct. However when there is no SFP+ module in the cage
      the driver waits for the I2C reads to time out which can take more than a
      second and will cause issues with tools (like net-snmp) that may poll
      for that information.
      
      This patch resolves the issue by identifying interfaces with no PHY
      type set as SFP capable which allows the driver to detect the SFP module
      when the interface is brought up. As result of this we can also remove the
      identify_sfp call from ixgbe_get_settings.
      
      v2: remove the 82599 specific check since we have 82598 devices that are SFP
      capable.
      
      Signed-off-by: default avatarEmil Tantilov <emil.s.tantilov@intel.com>
      Tested-by: default avatarPhil Schmitt <phillip.j.schmitt@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      d9cd46cd
  23. 23 May, 2014 4 commits
  24. 13 May, 2014 1 commit
  25. 14 Mar, 2014 1 commit
  26. 12 Mar, 2014 1 commit
  27. 02 Mar, 2014 1 commit
  28. 14 Jan, 2014 2 commits
  29. 24 Oct, 2013 1 commit
  30. 01 Oct, 2013 2 commits
  31. 13 Sep, 2013 2 commits