-
Notifications
You must be signed in to change notification settings - Fork 29
Fix read flow tag from cqe #333
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
Fix read flow tag from cqe #333
Conversation
|
bot:retest |
|
/review |
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
|
/suggest |
|
/describe |
|
PR Description updated to latest commit (c562f6a) |
|
/improve |
PR Code Suggestions ✨
|
|
/analyze |
The flow_tag field in the CQE format is 24 bits, but it was handled as if it were 32 bits. The additional 8 bits are reserved for the rx_drop_counter. Consequently, when there were RX drops, the flow_tag was incorrect because the most significant 8 bits were not zero. Signed-off-by: Bashar Abdelgafer <[email protected]>
a6f3d19 to
f17c65b
Compare
f17c65b to
08a78af
Compare
08a78af to
1431c3b
Compare
|
bot:retest |
1431c3b to
003a776
Compare
|
bot:retest |
1 similar comment
|
bot:retest |
7d11f34 to
462e5ff
Compare
|
bot:retest |
462e5ff to
b39491a
Compare
|
bot:retest |
1 similar comment
|
bot:retest |
src/core/dev/cq_mgr_rx.cpp
Outdated
| } | ||
| } | ||
|
|
||
| uint64_t cq_mgr_rx::get_n_rx_drop_counter() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
move this definition to the header
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
but why? because its 1 line?
The number of dropped packets because of no RCV WQE since the last CQE Signed-off-by: Bashar Abdelgafer <[email protected]>
Added an accumlated RX out of buffer drop counter to the print report The accumlated result includes: A)RX drops counts from open rings at termination phase. B)RX drops from rings that were closed during runtime before the termination phase (e.g. when all connections belonging to the ring were closed). Signed-off-by: Bashar Abdelgafer <[email protected]>
b39491a to
11698d6
Compare
In 'AUTO' mode, the report is printed only if an anomaly is detected (e.g., RX drops or buffer pool exhaustion). Set XLIO_PRINT_REPORT default to 'AUTO', and update README accordingly. Signed-off-by: Bashar Abdelgafer <[email protected]>
Renamed the print label from 'Packets dropped' to 'SW RX Packets dropped' to make it clear that the drop counter refers to software-level RX drops. Signed-off-by: Bashar Abdelgafer <[email protected]>
11698d6 to
ce9a57f
Compare
Rename n_rx_drop_counter and n_rx_pkt_drop. Signed-off-by: Bashar Abdelgafer <[email protected]>
ce9a57f to
2bdbc8a
Compare
|
bot:retest |
3 similar comments
|
bot:retest |
|
bot:retest |
|
bot:retest |
User description
Description
Fix read flow tag from cqe
CQE format for flow_tag is in "Table 186 - 64B Completion Queue Entry Format Layout
"
Add CQ rx_drop_counter
What
Subject: what this PR is doing in one line.
Why ?
Justification for the PR. If there is existing issue/bug please reference.
How ?
It is optional but for complex PRs please provide information about the design,
architecture, approach, etc.
Change type
What kind of change does this PR introduce?
Check list
PR Type
Bug fix, Enhancement
Description
Corrected handling of
flow_tagfield in CQE to use 24 bits.Added support for tracking RX drop counter in CQ statistics.
Updated logging and statistics printing to include RX drop counter.
Adjusted data structures and parsing logic to align with updated CQE format.
Changes walkthrough 📝
cq_mgr_rx.cpp
Add RX drop counter logging in statisticssrc/core/dev/cq_mgr_rx.cpp
stats_reader.cpp
Add RX drop counter to statistics calculationssrc/stats/stats_reader.cpp
xlio_stats.h
Add RX drop counter to statistics structuresrc/core/util/xlio_stats.h
n_rx_drop_counterfield to CQ statistics structure.cq_mgr_rx_regrq.cpp
Fix flow_tag parsing and add RX drop countersrc/core/dev/cq_mgr_rx_regrq.cpp
flow_tagparsing to use 24 bits.cq_mgr_rx_strq.cpp
Fix flow_tag parsing and add RX drop countersrc/core/dev/cq_mgr_rx_strq.cpp
flow_tagparsing to use 24 bits.ib_mlx5.h
Rename CQE field for claritysrc/core/ib/mlx5/ib_mlx5.h
sop_drop_qpntosop_rxdrop_qpn_flowtagfor clarity.