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: Enable low latency push support #1321

Merged
merged 3 commits into from
Jun 29, 2023

Conversation

selvintxavier
Copy link
Contributor

Enable Low latency push support for Broadcom Adapters.

{
struct bnxt_re_db_hdr hdr;

bnxt_re_init_db_hdr(&hdr, *qp->jsqq->hwque->dbtail, qp->qpid, BNXT_RE_QUE_TYPE_SQ);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The hdr here seems not used。

@selvintxavier selvintxavier force-pushed the push_support branch 3 times, most recently from 627f1f9 to b2ecb9c Compare May 22, 2023 06:24
@selvintxavier selvintxavier force-pushed the push_support branch 7 times, most recently from 7705407 to 268e63a Compare May 23, 2023 08:43
@selvintxavier
Copy link
Contributor Author

Is there a way to avoid this sparse error?
/__w/1/s/providers/bnxt_re/verbs.c:1691:25: error: typename in expression
/__w/1/s/providers/bnxt_re/verbs.c:1691:25: error: undefined identifier 'attribute'
##[error]Bash exited with code '1'.

This is an existing code already use this directive. I added an element to bnxt_re_pd_resp structure.

struct bnxt_re_pd_resp {
__u32 pdid;
__u32 dpi;
__u64 dbr;
__u64 comp_mask;
} attribute((packed, aligned(4)));

If i remove the attribute, its hitting the static assert while size checking for IB_USER_VERBS_CMD_ALLOC_PD

@selvintxavier selvintxavier force-pushed the push_support branch 4 times, most recently from 58e4770 to ed121b8 Compare June 1, 2023 11:15
@selvintxavier
Copy link
Contributor Author

Is there a way to avoid this sparse error? /__w/1/s/providers/bnxt_re/verbs.c:1691:25: error: typename in expression /__w/1/s/providers/bnxt_re/verbs.c:1691:25: error: undefined identifier 'attribute' ##[error]Bash exited with code '1'.

This is an existing code already use this directive. I added an element to bnxt_re_pd_resp structure.

struct bnxt_re_pd_resp { __u32 pdid; __u32 dpi; __u64 dbr; __u64 comp_mask; } attribute((packed, aligned(4)));

If i remove the attribute, its hitting the static assert while size checking for IB_USER_VERBS_CMD_ALLOC_PD

Ignore this request. the sparse error was introduced by the second patch of he series and i fixed the patch.

Copy link
Member

@jgunthorpe jgunthorpe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update the kernel headers commit as well

void bnxt_re_ring_pstart_db(struct bnxt_re_qp *qp,
struct bnxt_re_push_buffer *pbuf)
{
__u64 key;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These should be uint64_t

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everywhere

To commit 360da60d6c6e ("RDMA/bnxt_re: Enable low latency push").

Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
post_send and post_recv codes are refactored for supporting
the low latency push code. Optimized the code around getting the
Tx header from different send operations. Also, split the code that
populates the SQ WQEs for inline and non inline packets.

Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Enable Low latency push support for Broadcom Adapters.
Add new Doorbell types for push support. Also, maps the new WC
page for push buffers.
During post_send, library tries to use the push buffers for
smaller packets. Each user context can have 15 push buffers and
small packets will be attempted to be pushed first. A backup
WQE is also maintained in the queues in case the push operation
fails.

Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
@selvintxavier
Copy link
Contributor Author

compile tests are failing with login issue.
##[warning]Docker login failed with exit code 1, back off 00:00:10 seconds before retry.
##[error]Docker login fail with exit code 1

@linux-rdma linux-rdma deleted a comment from azure-pipelines bot Jun 22, 2023
@linux-rdma linux-rdma deleted a comment from azure-pipelines bot Jun 22, 2023
@jgunthorpe
Copy link
Member

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@selvintxavier
Copy link
Contributor Author

Hi Jason/Leon,
Can this be merged?
Thanks,
Selvin

@rleon rleon merged commit 095b2d5 into linux-rdma:master Jun 29, 2023
14 checks passed
@selvintxavier selvintxavier deleted the push_support branch June 29, 2023 13:30
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