Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bnxt_re/lib: General Updates #1406

Merged
merged 9 commits into from
Nov 19, 2023
Merged

Conversation

selvintxavier
Copy link
Contributor

Update library with some code refactoring and fixes.

kadesai16 and others added 9 commits November 16, 2023 00:03
Removed unused arguments from bnxt_re_poll_term_cqe
Added another helper function which move qp to flush list

Signed-off-by: Kashyap Desai <[email protected]>
Signed-off-by: Selvin Xavier <[email protected]>
Whenever the application calls the async_event hook, the driver
needs to move qp to error state and also add it into the flush list.
Terminal cqe will be posted in most of the cases and QPs can be moved
to flush list from the HW CQE. Async event is required if the
terminal CQEs are not generated.

Signed-off-by: Kashyap Desai <[email protected]>
Signed-off-by: Selvin Xavier <[email protected]>
… WRs

When a chain of WRs are received with inline and non inlline data, lib
can incorrectly select inline push path for a non inline buffer. Clear
the local variable pbuf to avoid this sequence.

Also, avoid a local variable try_push as pbuf itself can serve the
purpose.

Signed-off-by: Bhargava Chenna Marreddy <[email protected]>
Signed-off-by: Selvin Xavier <[email protected]>
Current put_sge() calculates total len which is not
required for post_recv. Added a new function that
just prepares sge's without calculating total len.
Deleted negative length check which can not happen.

Signed-off-by: Bhargava Chenna Marreddy <[email protected]>
Signed-off-by: Selvin Xavier <[email protected]>
library is incorrectly setting transfer length/qkey_len in
bnxt_re_post_send handler if chain of Work Request is posted by
application. It doesn't update length when wr->num_sge is zero
and hence qkey_len is updated with stale data from length variable.

Initialize the bytes variable to zero in the loop.

Signed-off-by: Saravanan Vajravel <[email protected]>
Signed-off-by: Selvin Xavier <[email protected]>
Adds a check in lib for atomic_cap when processing
IB_ATOMIC_WR. If atomic capability is not set,
fail the WR. Also, fail if any atomic requests
which has more than 1 SGE.

Signed-off-by: Damodharam Ammepalli <[email protected]>
Signed-off-by: Hongguang Gao <[email protected]>
Signed-off-by: Saravanan Vajravel <[email protected]>
Signed-off-by: Selvin Xavier <[email protected]>
Remove pcqe and return directly

Signed-off-by: Selvin Xavier <[email protected]>
idx need not be incremented in post_send while
getting the index for header.

Signed-off-by: Selvin Xavier <[email protected]>
Use likely and unlikey keywords for branching instructions in
some of the data paths.

Signed-off-by: Selvin Xavier <[email protected]>
@rleon rleon merged commit 17b941f into linux-rdma:master Nov 19, 2023
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants