-
Notifications
You must be signed in to change notification settings - Fork 543
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
Support shared headroom pool on top of dynamic buffer calculation #1581
Merged
Conversation
This file contains 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
retest this, please |
stephenxs
force-pushed
the
shared-headroom-pool
branch
from
January 15, 2021 06:53
9499458
to
2341dc7
Compare
Hi @neethajohn , |
retest this, please |
retest this please |
- Feature is enabled/disabled on-the-fly by configuring over-subscribe-ration and shared headroom pool size. If both are configured, the shared headroom pool size will take effect. When turn on/off the feature, all the lossless profiles and buffer pool size will be recalculated. - Support calculating shared headroom pool while ingress lossless pool is statically configured. Signed-off-by: Stephen Sun <[email protected]>
- Check accumulative headroom before toggling SHP state To disable SHP results in size of PG increasing. Hence needs to check whether accumulative headroom exceed limit - Split the function doUpdateStaticProfileTask into two functions Originally it was called for static profile only and consisted of two parts: - One is for dynamic th updated. It will go over all the buffer profiles dynamically generated according to the dynamic th and update them - The other is for size updated. It will go over each port referencing the profile and check whether the accumulative headroom exceeds limit Now that it is also called by shared headroom pool, we split it into two functions to make it more clear Signed-off-by: Stephen Sun <[email protected]>
stephenxs
force-pushed
the
shared-headroom-pool
branch
from
January 25, 2021 06:17
2341dc7
to
b600102
Compare
Signed-off-by: Stephen Sun <[email protected]>
@neethajohn can you please review? |
neethajohn
reviewed
Jan 29, 2021
- Adjust code, add comments - Check the buffer profile in each step of the shared headroom pool update Signed-off-by: Stephen Sun <[email protected]>
Signed-off-by: Stephen Sun <[email protected]>
neethajohn
approved these changes
Feb 4, 2021
liat-grozovik
approved these changes
Feb 7, 2021
@daall can you please add a label for 202012? |
yxieca
pushed a commit
that referenced
this pull request
Feb 23, 2021
) * Support shared headroom pool on top of dynamic buffer calculation - Feature is enabled/disabled on-the-fly by configuring over-subscribe-ration and shared headroom pool size. If both are configured, the shared headroom pool size will take effect. When turn on/off the feature, all the lossless profiles and buffer pool size will be recalculated. - Support calculating shared headroom pool while ingress lossless pool is statically configured. - Check accumulative headroom before toggling SHP state To disable SHP results in size of PG increasing. Hence needs to check whether accumulative headroom exceed limit - Split the function doUpdateStaticProfileTask into two functions Originally it was called for static profile only and consisted of two parts: - One is for dynamic th updated. It will go over all the buffer profiles dynamically generated according to the dynamic th and update them - The other is for size updated. It will go over each port referencing the profile and check whether the accumulative headroom exceeds limit Now that it is also called by shared headroom pool, we split it into two functions to make it more clear Signed-off-by: Stephen Sun <[email protected]> How I verified it Run vs test and regression test.
DavidZagury
pushed a commit
to DavidZagury/sonic-swss
that referenced
this pull request
Mar 4, 2021
…nic-net#1581) * Support shared headroom pool on top of dynamic buffer calculation - Feature is enabled/disabled on-the-fly by configuring over-subscribe-ration and shared headroom pool size. If both are configured, the shared headroom pool size will take effect. When turn on/off the feature, all the lossless profiles and buffer pool size will be recalculated. - Support calculating shared headroom pool while ingress lossless pool is statically configured. - Check accumulative headroom before toggling SHP state To disable SHP results in size of PG increasing. Hence needs to check whether accumulative headroom exceed limit - Split the function doUpdateStaticProfileTask into two functions Originally it was called for static profile only and consisted of two parts: - One is for dynamic th updated. It will go over all the buffer profiles dynamically generated according to the dynamic th and update them - The other is for size updated. It will go over each port referencing the profile and check whether the accumulative headroom exceeds limit Now that it is also called by shared headroom pool, we split it into two functions to make it more clear Signed-off-by: Stephen Sun <[email protected]> How I verified it Run vs test and regression test.
raphaelt-nvidia
pushed a commit
to raphaelt-nvidia/sonic-swss
that referenced
this pull request
Oct 5, 2021
…nic-net#1581) * Support shared headroom pool on top of dynamic buffer calculation - Feature is enabled/disabled on-the-fly by configuring over-subscribe-ration and shared headroom pool size. If both are configured, the shared headroom pool size will take effect. When turn on/off the feature, all the lossless profiles and buffer pool size will be recalculated. - Support calculating shared headroom pool while ingress lossless pool is statically configured. - Check accumulative headroom before toggling SHP state To disable SHP results in size of PG increasing. Hence needs to check whether accumulative headroom exceed limit - Split the function doUpdateStaticProfileTask into two functions Originally it was called for static profile only and consisted of two parts: - One is for dynamic th updated. It will go over all the buffer profiles dynamically generated according to the dynamic th and update them - The other is for size updated. It will go over each port referencing the profile and check whether the accumulative headroom exceeds limit Now that it is also called by shared headroom pool, we split it into two functions to make it more clear Signed-off-by: Stephen Sun <[email protected]> How I verified it Run vs test and regression test.
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 I did
Support shared headroom pool on top of dynamic buffer calculation.
Signed-off-by: Stephen Sun [email protected]
Why I did it
Support shared headroom pool on top of dynamic buffer calculation:
If both are configured, the shared headroom pool size will take effect.
When turn on/off the feature, all the lossless profiles and buffer pool size will be recalculated.
How I verified it
Run vs test and regression test.
Details if related
- Which release branch to backport (provide reason below if selected)