- 
                Notifications
    You must be signed in to change notification settings 
- Fork 2.2k
[Carry #3205] libct/cg: add CFS bandwidth burst for CPU #3749
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
Conversation
| Seems the systemd is not support the CPU burst feature yet. systemd/systemd#26658 So should we keep pushing this PR or hold on it utill the feature has been supported in systemd @AkihiroSuda | 
| 
 You can just let fs2 handle it runc/libcontainer/cgroups/systemd/v2.go Lines 168 to 170 in a187c84 
 | 
| 
 Got it | 
ed84533    to
    a88bc77      
    Compare
  
    | 
 But the burst feature supports both cv1 and cv2. hmmm I think maybe I can limit it should be only being used in non-systemd driver? @AkihiroSuda | 
d3e5725    to
    5c01766      
    Compare
  
    | @AkihiroSuda Hi, I have written the test, but the rootless test failed. I have no idea what happened. would you mind take a look at for me ? | 
| https://github.com/opencontainers/runc/actions/runs/4462135582/jobs/7836459757?pr=3749 It seems strange why  | 
c4b923a    to
    f30ade3      
    Compare
  
    | fine, I figured out the reason, the rootless CI has been passed | 
5f7c22c    to
    b3833af      
    Compare
  
    | https://cirrus-ci.com/task/5913443228712960 Should I skip the systemd test for burst? cc @AkihiroSuda | 
| @AkihiroSuda ping(would you mind to give me some advise about test failed in Centos? | 
b3833af    to
    314c8dc      
    Compare
  
    314c8dc    to
    a0f01f4      
    Compare
  
    | CI failing | 
f81f708    to
    359c6ab      
    Compare
  
    | @AkihiroSuda It seems like there may be some compatibility issues between CPU Burst and Centos7 and Centos8, which could be causing the CI to fail. Would your mind to give me some suggestion about how to pass all the CI? | 
| 
 I guess you can just check existence of  | 
| 
 Seems good, I'll make a try! Thanks a lot! | 
4d8d3df    to
    c6fd33f      
    Compare
  
    | @lifubang Thanks for the review, all things done | 
d1d66db    to
    7a152a3      
    Compare
  
    7a152a3    to
    e1b7f6a      
    Compare
  
    | I'm so sorry to let you spend more time on this. We need to cover as many test cases as possible. ☕ | 
| 
 I think we already have enough test cases here. May I ask what's kind of the corner case in your thought not covered by current test code? | 
| 
 For example, how to clear  | 
e1b7f6a    to
    e05506e      
    Compare
  
    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.
LGTM
| Left some further works: 
 v1: fail, v2: succ We can do these works in further PRs. | 
| @AkihiroSuda PTAL. I think this could be merged. | 
Burstable CFS controller is introduced in Linux 5.14. This helps with parallel workloads that might be bursty. They can get throttled even when their average utilization is under quota. And they may be latency sensitive at the same time so that throttling them is undesired. This feature borrows time now against the future underrun, at the cost of increased interference against the other system users, by introducing cfs_burst_us into CFS bandwidth control to enact the cap on unused bandwidth accumulation, which will then used additionally for burst. The patch adds the support/control for CFS bandwidth burst. runtime-spec: opencontainers/runtime-spec#1120 Co-authored-by: Akihiro Suda <[email protected]> Co-authored-by: Nadeshiko Manju <[email protected]> Signed-off-by: Kailun Qin <[email protected]>
e05506e    to
    e158483      
    Compare
  
    
Carry #3205