[Reclaim buffer][202106] Reclaim unused buffers by applying zero buffer profiles#9062
Merged
neethajohn merged 13 commits intosonic-net:202106from Dec 13, 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]>
Conflicts:
device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t0.j2
device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t1.j2
Signed-off-by: Stephen Sun <[email protected]>
5 tasks
Signed-off-by: Stephen Sun <[email protected]>
Signed-off-by: Stephen Sun <[email protected]>
Signed-off-by: Stephen Sun <[email protected]>
1d43dbb to
3998724
Compare
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 762fd42.
Collaborator
|
@neethajohn There are new commits after you approval. Could you check again? |
Collaborator
Author
There is still ci failures that look like related to the PR. I am still investigating. |
- buffer template files for all Mellanox SKUs - update test case output files Signed-off-by: Stephen Sun <[email protected]>
…onic-buildimage into zero-profiles-202106
Signed-off-by: Stephen Sun <[email protected]>
Collaborator
Author
All ci checkers passed. @neethajohn can you please review it? thanks |
neethajohn
approved these changes
Dec 13, 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 202106 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)