Commit 7d60749
committed
prov/efa: acquire the same lock for qp lifecycle
In efa ep close, qp destroy + qp table update + the cq
flush must happen in the same locking block, and the same
lock must be acquired by the qp creation + qp table update
in the ep enable.
This ensure that the cq flush will exactly flush out the
stale cqe belongs to the old qp before the new qp that likely
has the same qpn is ingested by rdma-core's qp table, which
will make rdma-core regard the stale cqe as a valid cqe for the
new qp and cause unexpected behaviors.
Signed-off-by: Shi Jin <[email protected]>1 parent ef67305 commit 7d60749
File tree
4 files changed
+29
-35
lines changed- prov/efa/src
- rdm
4 files changed
+29
-35
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
| 61 | + | |
| 62 | + | |
61 | 63 | | |
62 | 64 | | |
63 | 65 | | |
| |||
79 | 81 | | |
80 | 82 | | |
81 | 83 | | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
82 | 103 | | |
83 | 104 | | |
84 | 105 | | |
| |||
364 | 385 | | |
365 | 386 | | |
366 | 387 | | |
367 | | - | |
368 | | - | |
369 | 388 | | |
370 | | - | |
371 | 389 | | |
372 | 390 | | |
373 | 391 | | |
| |||
822 | 840 | | |
823 | 841 | | |
824 | 842 | | |
| 843 | + | |
| 844 | + | |
825 | 845 | | |
826 | 846 | | |
827 | | - | |
828 | | - | |
829 | | - | |
830 | | - | |
831 | | - | |
832 | | - | |
833 | | - | |
834 | | - | |
835 | | - | |
836 | | - | |
837 | | - | |
838 | | - | |
839 | | - | |
| 847 | + | |
840 | 848 | | |
841 | | - | |
842 | | - | |
843 | | - | |
844 | | - | |
845 | | - | |
846 | | - | |
| 849 | + | |
847 | 850 | | |
848 | | - | |
849 | | - | |
850 | | - | |
851 | | - | |
852 | | - | |
853 | | - | |
854 | | - | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
855 | 854 | | |
| 855 | + | |
856 | 856 | | |
857 | 857 | | |
858 | 858 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
151 | 151 | | |
152 | 152 | | |
153 | 153 | | |
154 | | - | |
155 | | - | |
156 | 154 | | |
157 | 155 | | |
158 | 156 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
208 | 208 | | |
209 | 209 | | |
210 | 210 | | |
211 | | - | |
212 | | - | |
213 | 211 | | |
214 | 212 | | |
215 | 213 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1033 | 1033 | | |
1034 | 1034 | | |
1035 | 1035 | | |
1036 | | - | |
1037 | | - | |
1038 | 1036 | | |
1039 | 1037 | | |
1040 | 1038 | | |
| |||
0 commit comments