Closed
Conversation
…ue and irq chore(irq-tuning): improve universality of getting mapping of nic queue and irq Signed-off-by: 张浩宇 <zhanghaoyu.zhy@bytedance.com>
…ent number of leading "0" fix(irq-tuning): fix ComparesHexBitmapStrings two strings with different number of leading "0" character. Signed-off-by: 张浩宇 <zhanghaoyu.zhy@bytedance.com>
After setting the IRQ affinity for the kernel, the kernel cannot guarantee that an immediate subsequent read will return the latest value; in some cases, it may return an old value. This is because if irq_do_set_affinity returns EBUSY, the kernel may call irqd_set_move_pending to set the IRQD_SETAFFINITY_PENDING flag. Subsequently, the next IRQ affinity write operation will set the newly affinitized CPU mask into irq_desc->pending_mask. At a later point, irq_move_masked_irq will clear the IRQD_SETAFFINITY_PENDING flag within the interrupt context. The IRQ affinity read function show_irq_affinity first reads irq_desc->desc->irq_common_data.affinity and then checks whether the IRQD_SETAFFINITY_PENDING flag is set. If the flag is set, it retrieves irq_desc->pending_mask. If the QRM read IRQ affinity syscall has already read irq_desc->desc->irq_common_data.affinity but not yet read irq_desc->pending_mask, and the interrupt context's irq_move_masked_irq clears the IRQD_SETAFFINITY_PENDING flag at this point, QRM will end up reading an old value. Signed-off-by: 张浩宇 <zhanghaoyu.zhy@bytedance.com>
…rnel report inconsistent irq affinity between qrm and kernel, this inconsistence may caused by external services, like irqbalance-ng, or manual set. Signed-off-by: 张浩宇 <zhanghaoyu.zhy@bytedance.com>
chore(irq-tuning): ListNetNS ignores non-existed netns Signed-off-by: 张浩宇 <zhanghaoyu.zhy@bytedance.com>
fix UT Signed-off-by: 张浩宇 <zhanghaoyu.zhy@bytedance.com>
c625898 to
0a14b61
Compare
Codecov Report❌ Patch coverage is
❌ Your patch status has failed because the patch coverage (44.00%) is below the target coverage (50.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #1007 +/- ##
==========================================
+ Coverage 58.68% 59.67% +0.99%
==========================================
Files 679 682 +3
Lines 77274 63907 -13367
==========================================
- Hits 45347 38136 -7211
+ Misses 27540 21366 -6174
- Partials 4387 4405 +18
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What type of PR is this?
Bug fixes/Enhancements
What this PR does / why we need it:
fix some corner cases and improve the robustness and versatility