1. 29 10月, 2013 1 次提交
    • J
      ixgbe: fix qv_lock_napi call in ixgbe_napi_disable_all · 27d9ce4f
      Jacob Keller 提交于
      ixgbe_napi_disable_all calls napi_disable on each queue, however the busy
      polling code introduced a local_bh_disable()d context around the napi_disable.
      The original author did not realize that napi_disable might sleep, which would
      cause a sleep while atomic BUG. In addition, on a single processor system, the
      ixgbe_qv_lock_napi loop shouldn't have to mdelay. This patch adds an
      ixgbe_qv_disable along with a new IXGBE_QV_STATE_DISABLED bit, which it uses to
      indicate to the poll and napi routines that the q_vector has been disabled. Now
      the ixgbe_napi_disable_all function will wait until all pending work has been
      finished and prevent any future work from being started.
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Cc: Eliezer Tamir <eliezer.tamir@linux.intel.com>
      Cc: Alexander Duyck <alexander.duyck@intel.com>
      Cc: Hyong-Youb Kim <hykim@myri.com>
      Cc: Amir Vadai <amirv@mellanox.com>
      Cc: Dmitry Kravkov <dmitry@broadcom.com>
      Tested-by: NPhil Schmitt <phillip.j.schmitt@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      27d9ce4f
  2. 24 10月, 2013 11 次提交
  3. 22 10月, 2013 15 次提交
  4. 10 10月, 2013 13 次提交