Page MenuHomeFreeBSD

ofed: don't stop removing stale RoCE GIDs at the first hole
Needs ReviewPublic

Authored by aehrenberg_nvidia.com on Tue, Jul 28, 8:57 AM.

Details

Reviewers
kib
slavash
jhb
Summary

When cleaning up stale GIDs the scan stopped as soon as
rdma_get_gid_attr() failed. But that can also happen for empty entries
in the middle of the table, so a single gap left everything after it
behind and the GID entries could eventually run out.

Now the whole table is scanned and the empty slots are simply skipped.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

aehrenberg_nvidia.com edited the test plan for this revision. (Show Details)
sys/ofed/drivers/infiniband/core/ib_roce_gid_mgmt.c
216

Why is the value initialized so early?
IMO it should be done right before the loop that uses it.

BTW, what guarantees the stability of the gid table?