linux/drivers/infiniband/hw
Eli Cohen bef83ed92c IB/mlx4: Synchronize cleanup of MCGs in MCG paravirtualization
A client re-register event invokes cleanup of all MCGs.  This is
required to protect against misbehaved guests leading to corruption of
join/leave database.  However, since cleaning up the MCGs is a heavy
operation, it is pushed to a work queue for further processing.
Client re-register is also propagated to ULPs (e.g IPoIB).

However, since the cleanup is performed in a workqueue, the ULP could
leave and re-join groups before the cleanup occurs.  In this case,
when the cleanup takes place, it prunes the (newly-joined) MCGs and
the ULP is left without actual MCGs while believing it joined them.

Fix this by setting the flushing flag before invoking the cleanup task
and clearing it after flushing is complete.

Signed-off-by: Eli Cohen <eli@mellanox.com>
Reviewed-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <roland@purestorage.com>
2012-10-18 10:29:02 -07:00
..
amso1100 IB: Fix typos in infiniband drivers 2012-08-15 11:56:19 -07:00
cxgb3 IB: Fix typos in infiniband drivers 2012-08-15 11:56:19 -07:00
cxgb4 First batch of InfiniBand/RDMA changes for the 3.7 merge window: 2012-10-02 17:20:40 -07:00
ehca mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
ipath mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
mlx4 IB/mlx4: Synchronize cleanup of MCGs in MCG paravirtualization 2012-10-18 10:29:02 -07:00
mthca IB/mthca: Use PCI Express Capability accessors 2012-08-23 10:11:15 -06:00
nes RDMA/nes: Bump the version number of nes driver 2012-10-03 14:27:59 -07:00
ocrdma RDMA/ocrdma: Fix CQE expansion of unsignaled WQE 2012-09-14 10:40:58 -07:00
qib mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00