1. 27 4月, 2016 1 次提交
  2. 26 4月, 2016 1 次提交
  3. 18 2月, 2016 1 次提交
  4. 04 2月, 2016 1 次提交
    • M
      i40evf: allow channel bonding of VFs · 209dc4da
      Mitch Williams 提交于
      In some modes, bonding would not enslave VF interfaces. This is due to
      bonding calling change_mtu and the immediately calling open. Because of
      the asynchronous nature of the admin queue mechanism, the VF returns
      -EBUSY to the open call, because it knows the previous operation hasn't
      finished yet. This causes bonding to fail with a less-than-useful error
      message.
      
      To fix this, remove the check for pending operations at the beginning of
      open. But this introduces a new bug where the driver will panic on a
      quick close/open cycle. To fix that, we add a new driver state,
      __I40EVF_DOWN_PENDING, that the driver enters when down is called. The
      driver finally transitions to a fully DOWN state when it receives
      confirmation from the PF driver that all the queues are disabled. This
      allows open to complete even if there is a pending mtu change, and
      bonding is finally happy.
      
      Change-ID: I06f4c7e435d5bacbfceaa7c3f209e0ff04be21cc
      Signed-off-by: NMitch Williams <mitch.a.williams@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      209dc4da
  5. 03 12月, 2015 1 次提交
  6. 02 12月, 2015 5 次提交
  7. 20 10月, 2015 1 次提交
  8. 16 10月, 2015 2 次提交
    • M
      i40evf: relax and stagger init timing a bit · 3f7e5c33
      Mitch Williams 提交于
      On some devices, in some systems, in some configurations, the VFs would
      fail to initialize the first time you loaded the driver.
      
      To correct this, increase the delay time for the init task slightly, and
      wait longer before giving up.
      
      If we enable VFs and load the VF driver in the same kernel as the PF
      driver, we can totally overwhelm the PF driver with AQ requests because
      all of the instances try to initialize at the same time.
      
      To help alleviate this, stagger the initial scheduling of the init task
      using the PCIe function as a multiplier. We mask off the function to
      only three bits so no instance has to wait too long.
      
      With these two changes, initializing 128 VFs on a single device goes
      from four minutes to just a few seconds.
      
      Change-ID: If3d8720c1c4e838ab36d8781d9ec295a62380936
      Signed-off-by: NMitch Williams <mitch.a.williams@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      3f7e5c33
    • A
      i40e/i40evf: Drop useless "IN_NETPOLL" flag · 8b650359
      Alexander Duyck 提交于
      The code in i40e and i40evf is using an "IN_NETPOLL" flag that has never
      added any value due to the fact that the Rx clean-up is handled in NAPI.
      As such the flag was set, the queue was scheduled via NAPI, and then polled
      from the netpoll controller and if any Rx packets were processed the were
      processed in the wrong context.
      
      In addition the flag itself just added an unneeded conditional to the
      hot-path so it can safely be dropped and save us a few instructions.
      Signed-off-by: NAlexander Duyck <aduyck@mirantis.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      8b650359
  9. 14 10月, 2015 1 次提交
  10. 09 10月, 2015 2 次提交
  11. 06 8月, 2015 3 次提交
  12. 23 7月, 2015 3 次提交
  13. 26 6月, 2015 1 次提交
  14. 15 4月, 2015 1 次提交
  15. 27 3月, 2015 1 次提交
    • M
      i40evf: delay releasing rings · e284fc88
      Mitch Williams 提交于
      When the VF interface is closed, we cannot immediately free our rings
      and RX buffers, because the hardware hasn't yet stopped accessing this
      memory. This shows up as a panic or memory corruption when the device is
      brought down while under heavy stress.
      
      To fix this, delay releasing resources until we receive acknowledgment
      from the PF driver that the rings have indeed been stopped. Because of
      this delay, we also need to check to make sure that all of our admin
      queue requests have been handled before allowing the device to be
      opened.
      
      Change-ID: I44edd35529ce2fa2a9512437a3a8e6f14ed8ed63
      Signed-off-by: NMitch Williams <mitch.a.williams@intel.com>
      Tested-by: NJim Young <james.m.young@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      e284fc88
  16. 21 11月, 2014 1 次提交
    • M
      i40evf: make checkpatch happy · 75a64435
      Mitch Williams 提交于
      This patch is the result of running checkpatch on the i40evf driver with
      the --strict option. The vast majority of changes are adding/removing
      blank lines, aligning function parameters, and correcting over-long
      lines.
      
      The only possible functional change is changing the flags member of the
      adapter structure to be non-volatile. However, according to the kernel
      documentation, this is not necessary and the volatile should be removed.
      
      Change-ID: Ie8c6414800924f529bef831e8845292b970fe2ed
      Signed-off-by: NMitch Williams <mitch.a.williams@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      75a64435
  17. 11 11月, 2014 1 次提交
  18. 05 6月, 2014 2 次提交
  19. 21 5月, 2014 1 次提交
  20. 28 3月, 2014 1 次提交
  21. 22 2月, 2014 2 次提交
  22. 18 2月, 2014 1 次提交
  23. 14 2月, 2014 5 次提交
  24. 01 1月, 2014 1 次提交