linux-rdma / perftest

Infiniband Verbs Performance Tests
Other
536 stars 273 forks source link

Fix BW tests stuck pending completion event #203

Closed mrgolin closed 1 year ago

mrgolin commented 1 year ago

BW tests are filling send queues up to their size but polling completions in batches of 16. When using completion events, in case that more than 16 comletions are enqueued between two consecutive events or in particular there are more than 16 completions in CQ when last completion received, we won't poll all completions and will block infinitely waiting for an additional event.

Reproduce example: ib_send_bw -x 0 -F -a -q 8 -l 64 -n 6400 -e & ib_send_bw -x 0 -F -a -q 8 -l 64 -n 6400 -e localhost

Fix this by making sure all completions were polled before pending on event.