1. 01 8月, 2017 1 次提交
    • K
      IB/hfi1: Serve the most starved iowait entry first · bcad2913
      Kaike Wan 提交于
      When an egress resource(SDMA descriptors, pio credits) is not available,
      a sending thread will be put on the resource's wait queue. When the
      resource becomes available again, up to a fixed number of sending threads
      can be awakened sequentially and removed from the wait queue, depending
      on the number of waiting threads and the number of free resources. Since
      each awakened sending thread will send as many packets as possible, it
      is highly likely that the first sending thread will consume all the
      egress resources. Subsequently, it will be put back to the end of the wait
      queue. Depending on the timing when the later sending threads wake up,
      they may not be able to send any packet and be again put back to the end
      of the wait queue sequentially, right behind the first sending thread.
      This starvation cycle continues until some sending threads exceed their
      retry limit and consequently fail.
      
      This patch fixes the issue by two simple approaches:
      (1) Any starved sending thread will be put to the head of the wait queue
      while a served sending thread will be put to the tail;
      (2) The most starved sending thread will be served first.
      Reviewed-by: NMike Marciniszyn <mike.marciniszyn@intel.com>
      Signed-off-by: NKaike Wan <kaike.wan@intel.com>
      Signed-off-by: NDennis Dalessandro <dennis.dalessandro@intel.com>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      bcad2913
  2. 06 7月, 2017 1 次提交
  3. 28 6月, 2017 5 次提交
  4. 02 5月, 2017 4 次提交
  5. 29 4月, 2017 4 次提交
  6. 21 4月, 2017 1 次提交
  7. 06 4月, 2017 5 次提交
  8. 19 2月, 2017 5 次提交
  9. 15 2月, 2017 1 次提交
  10. 25 1月, 2017 1 次提交
  11. 12 12月, 2016 4 次提交
  12. 16 11月, 2016 2 次提交
  13. 08 10月, 2016 1 次提交
  14. 02 10月, 2016 4 次提交
  15. 17 9月, 2016 1 次提交