1. 25 2月, 2016 1 次提交
  2. 11 2月, 2016 1 次提交
  3. 08 2月, 2016 2 次提交
  4. 20 1月, 2016 1 次提交
    • D
      RDMA/be2net: Remove open and close entry points · 9781808c
      Devesh Sharma 提交于
      Recently Dough Ledford reported a deadlock happening
      between ocrdma-load sequence and NetworkManager service
      issueing "open" on be2net interface.
      
      The deadlock happens when any be2net hook (e.g. open/close) is called
      in parallel to insmod ocrdma.ko.
      
      A. be2net is sending administrative open/close event to ocrdma holding
         device_list_mutex. It does this from ndo_open/ndo_stop hooks of be2net.
         So sequence of locks is rtnl_lock---> device_list lock
      
      B.  When new ocrdma roce device gets registered, infiniband stack now
          takes rtnl_lock in ib_register_device() in GID initialization routines.
          So sequence of locks in this path is device_list lock ---> rtnl_lock.
      
      This improper locking sequence causes deadlock.
      
      In order to resolve the above deadlock condition, ocrdma intorduced a
      patch to stop listening to administrative open/close events generated from
      be2net driver. It now depends on link-state-change async-event generated from
      CNA. This change leaves behind dead code which used to generate administrative
      open/close events. This patch cleans-up all that dead code from be2net.
      Reported-by: NDoug Ledford <dledford@redhat.com>
      CC: Sathya Perla <sathya.perla@avagotech.com>
      Signed-off-by: NPadmanabh Ratnakar <padmanabh.ratnakar@avagotech.com>
      Signed-off-by: NSelvin Xavier <selvin.xavier@avagotech.com>
      Signed-off-by: NDevesh Sharma <devesh.sharma@avagotech.com>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      9781808c
  5. 31 12月, 2015 5 次提交
  6. 29 12月, 2015 1 次提交
    • D
      RDMA/be2net: Remove open and close entry points · f41647ef
      Devesh Sharma 提交于
      Recently Dough Ledford reported a deadlock happening
      between ocrdma-load sequence and NetworkManager service
      issueing "open" on be2net interface.
      
      The deadlock happens when any be2net hook (e.g. open/close) is called
      in parallel to insmod ocrdma.ko.
      
      A. be2net is sending administrative open/close event to ocrdma holding
         device_list_mutex. It does this from ndo_open/ndo_stop hooks of be2net.
         So sequence of locks is rtnl_lock---> device_list lock
      
      B.  When new ocrdma roce device gets registered, infiniband stack now
          takes rtnl_lock in ib_register_device() in GID initialization routines.
          So sequence of locks in this path is device_list lock ---> rtnl_lock.
      
      This improper locking sequence causes deadlock.
      
      In order to resolve the above deadlock condition, ocrdma intorduced a
      patch to stop listening to administrative open/close events generated from
      be2net driver. It now depends on link-state-change async-event generated from
      CNA. This change leaves behind dead code which used to generate administrative
      open/close events. This patch cleans-up all that dead code from be2net.
      Reported-by: NDoug Ledford <dledford@redhat.com>
      CC: Sathya Perla <sathya.perla@avagotech.com>
      Signed-off-by: NPadmanabh Ratnakar <padmanabh.ratnakar@avagotech.com>
      Signed-off-by: NSelvin Xavier <selvin.xavier@avagotech.com>
      Signed-off-by: NDevesh Sharma <devesh.sharma@avagotech.com>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      f41647ef
  7. 13 10月, 2015 1 次提交
  8. 18 9月, 2015 1 次提交
  9. 30 7月, 2015 1 次提交
  10. 25 7月, 2015 1 次提交
  11. 11 7月, 2015 1 次提交
  12. 15 5月, 2015 3 次提交
  13. 10 5月, 2015 4 次提交
  14. 09 4月, 2015 1 次提交
  15. 30 3月, 2015 2 次提交
  16. 21 3月, 2015 2 次提交
  17. 05 3月, 2015 2 次提交
  18. 24 2月, 2015 1 次提交
  19. 21 2月, 2015 2 次提交
  20. 08 2月, 2015 4 次提交
  21. 06 1月, 2015 1 次提交
    • S
      be2net: support TX batching using skb->xmit_more flag · 5f07b3c5
      Sathya Perla 提交于
      This patch uses skb->xmit_more flag to batch TX requests.
      TX is flushed either when xmit_more is false or there is
      no more space in the TXQ.
      
      Skyhawk-R and BEx chips require an even number of wrbs to be posted.
      So, when a batch of TX requests is accumulated, the last header wrb
      may need to be fixed with an extra dummy wrb.
      
      This patch refactors be_xmit() routine as a sequence of be_xmit_enqueue()
      and be_xmit_flush() calls. The Tx completion code is also
      updated to be able to unmap/free a batch of skbs rather than a single
      skb.
      Signed-off-by: NSathya Perla <sathya.perla@emulex.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5f07b3c5
  22. 12 12月, 2014 1 次提交
  23. 14 9月, 2014 1 次提交