-
Notifications
You must be signed in to change notification settings - Fork 206
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
Remove barriers and spinlock in epoch_enter and epoch_exit #2796
Conversation
9107cfd
to
9d76abf
Compare
0881e02
to
b053f3e
Compare
After generating SPGO data and applying it: Old epoch: C:\test>RelWithDebInfo\bpf_performance_runner.exe -i tests.yml -e .sys -t "Baseline" -b 1
Test,CPU 0,CPU 1,CPU 2,CPU 3,CPU 4,CPU 5
Baseline,107,109,108,109,111,113
C:\test>RelWithDebInfo\bpf_performance_runner.exe -i tests.yml -e .sys -t "Baseline"
Test,CPU 0,CPU 1,CPU 2,CPU 3,CPU 4,CPU 5
Baseline,7,6,6,7,6,6 New epoch: C:\test>RelWithDebInfo\bpf_performance_runner.exe -i tests.yml -e .sys -t "Baseline" -b 1
Test,CPU 0,CPU 1,CPU 2,CPU 3,CPU 4,CPU 5
Baseline,31,28,29,30,30,25
C:\test>RelWithDebInfo\bpf_performance_runner.exe -i tests.yml -e .sys -t "Baseline"
Test,CPU 0,CPU 1,CPU 2,CPU 3,CPU 4,CPU 5
Baseline,4,5,5,5,5,5 |
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.
Ok but see suggestions.
Blocked on: #2783 as it has the updated version of usersim with kevent. |
6fc07d6
to
b5b45f1
Compare
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
681ee6d
to
b443a7b
Compare
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Codecov Report
@@ Coverage Diff @@
## main #2796 +/- ##
==========================================
- Coverage 86.71% 86.50% -0.22%
==========================================
Files 140 140
Lines 25894 25926 +32
==========================================
- Hits 22454 22426 -28
- Misses 3440 3500 +60
|
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.
My concern with this changes is that this may frequently queue DPCs to cores thereby stalling other DPCs generated by interrupts such as arriving network packets. It will be necessary to test these changes using XDP tests with high bandwidth of inbound traffic and also with other multithreaded stress scenarios to ensure there are no regressions.
an alternative was discussed here and eventully rejected. #2844
Description
Switch epoch logic from relying on spin-lock for protecting to relying on running at IRQL == DISPATCH_LEVEL.
Batching == 1
Before:
After:
Batching == 64
Before:
After:
Testing
CI/CD + performance + stress.
Documentation
Yes.
Installation
No.
Resolves: #2787