[Reclaim buffer][202012] Reclaim unused buffers by applying zero buffer profiles#9063
Merged
liat-grozovik merged 12 commits intosonic-net:202012from Dec 9, 2021
Merged
Conversation
1. Add buffer profiles and pool definition for zero buffer profiles
- If buffer model is static:
- Apply normal buffer profiles to admin-up ports
- Apply zero buffer profiles to admin-down ports
- If buffer model is dynamic:
- Apply normal buffer profiles to all ports
- buffer manager will take care when a port is shutdown
2. To make code clean and reduce redundant code, extract common macros from buffer_defaults_t{0,1}.j2 of all SKUs to two common files:
- one in Mellanox-SN2700 for single ingress pool mode
- the other in ACS-MSN2700 for double ingress pool mode
Those files of all other SKUs will be symbol link to the above files
3. Adjust example output file of json template for unit test
Signed-off-by: Stephen Sun <[email protected]>
Signed-off-by: Stephen Sun <[email protected]>
Signed-off-by: Stephen Sun <[email protected]>
Signed-off-by: Stephen Sun <[email protected]>
Signed-off-by: Stephen Sun <[email protected]>
Signed-off-by: Stephen Sun <[email protected]>
neethajohn
approved these changes
Dec 6, 2021
…template test Do not use pytest fixture in the test since it is not compatible with unittest which is used by all of other testcases. Signed-off-by: Stephen Sun <[email protected]>
…_render_template test" This reverts commit 837df68.
- buffer template files for all Mellanox SKUs - update test case output files Signed-off-by: Stephen Sun <[email protected]>
Signed-off-by: Stephen Sun <[email protected]>
Signed-off-by: stephens <[email protected]>
Collaborator
Author
|
/azpw run Azure.sonic-buildimage |
Collaborator
|
/AzurePipelines run Azure.sonic-buildimage |
|
Azure Pipelines successfully started running 1 pipeline(s). |
neethajohn
approved these changes
Dec 8, 2021
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.
This is to backport community PR #8768 to 202012 branch
Why I did it
Support zero buffer profiles
INACTIVE PORTSdynamic buffer managerto load zero pools and profiles from a JSON fileSigned-off-by: Stephen Sun [email protected]
How I did it
Add buffer profiles and pool definition for zero buffer profiles
Update
buffers_config.j2to supportINACTIVE PORTSby extending the existing macros to generate the various buffer objects, including PGs, queues, ingress/egress profile listsEnable
buffer managerto load zero pools and profiles from a JSON file:platform/<vendor>folder to/usr/share/sonic/temlatesfolder in compiling time and rendered when the swss container is being created.To make code clean and reduce redundant code, extract common macros from buffer_defaults_t{0,1}.j2 of all SKUs to two common files:
Those files of all other SKUs will be symbol link to the above files
Update
sonic-cfggentest accordingly:How to verify it
Run regression test and manually test.
Which release branch to backport (provide reason below if selected)
Description for the changelog
A picture of a cute animal (not mandatory but encouraged)