[Dynamic buffer][Mellanox] Fix issue: accumulative headroom can exceed limit in rare scenario#2020
Merged
liat-grozovik merged 1 commit intosonic-net:masterfrom Nov 16, 2021
Conversation
The egress mirror size is not accurate, causing the estimated accumulative headroom size to be greater than the real one Signed-off-by: Stephen Sun <[email protected]>
Collaborator
Author
|
/azpw run |
Collaborator
|
/AzurePipelines run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Collaborator
Author
|
Just checked, it can be cherry-picked to 202106 and 202012 branches smoothly. So tags added. 202012 |
keboliu
approved these changes
Nov 15, 2021
Collaborator
|
@neethajohn could you please help to sign off this PR? |
neethajohn
reviewed
Nov 16, 2021
neethajohn
approved these changes
Nov 16, 2021
Collaborator
|
@judyjoseph would you please help to cherry-pick? |
5 tasks
arlakshm
pushed a commit
that referenced
this pull request
Nov 18, 2021
…2020) - What I did The egress mirror size is not taken into account when checking the accumulative headroom size, which causes the estimated accumulate headroom size to be greater than the real one and unable to be applied. - Why I did it Bug fix - How I verified it Run regression test. - Details if related An example to explain the logic . The current accumulative headroom is 90k, egress mirror headroom is 10k, the ASIC limitation of the port is 100k. Now a user wants to change the port configuration which will make the accumulative headroom to be increased by 10k. Now the accumulative headroom estimated by buffer manager is 100k, which doesn’t exceed the limitation. However in the ASIC the real accumulative headroom is 110k which does.
qiluo-msft
pushed a commit
that referenced
this pull request
Nov 20, 2021
…2020) - What I did The egress mirror size is not taken into account when checking the accumulative headroom size, which causes the estimated accumulate headroom size to be greater than the real one and unable to be applied. - Why I did it Bug fix - How I verified it Run regression test. - Details if related An example to explain the logic . The current accumulative headroom is 90k, egress mirror headroom is 10k, the ASIC limitation of the port is 100k. Now a user wants to change the port configuration which will make the accumulative headroom to be increased by 10k. Now the accumulative headroom estimated by buffer manager is 100k, which doesn’t exceed the limitation. However in the ASIC the real accumulative headroom is 110k which does.
EdenGri
pushed a commit
to EdenGri/sonic-swss
that referenced
this pull request
Feb 28, 2022
What I did During config update, update of certain tables do demand service restart. With multiple related updates are not grouped together, this might result in too many service restarts, which could fail with "hitting start limit". When that happens, call reset-failed, try to restart. If it fails again, take a pause and try to restart again. How I did it When service restart fails, call reset-failed, try, pause and then call service restart again.
EdenGri
pushed a commit
to EdenGri/sonic-swss
that referenced
this pull request
Feb 28, 2022
…-net#2028) What I did Missed update from review comments in PR sonic-net#2020 s/os.system("sleep 10s")/time.sleep(10)/
Janetxxx
pushed a commit
to Janetxxx/sonic-swss
that referenced
this pull request
Nov 10, 2025
…onic-net#2020) - What I did The egress mirror size is not taken into account when checking the accumulative headroom size, which causes the estimated accumulate headroom size to be greater than the real one and unable to be applied. - Why I did it Bug fix - How I verified it Run regression test. - Details if related An example to explain the logic . The current accumulative headroom is 90k, egress mirror headroom is 10k, the ASIC limitation of the port is 100k. Now a user wants to change the port configuration which will make the accumulative headroom to be increased by 10k. Now the accumulative headroom estimated by buffer manager is 100k, which doesn’t exceed the limitation. However in the ASIC the real accumulative headroom is 110k which does.
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.
What I did
The egress mirror size is not taken into account when checking the accumulative headroom size, which causes the estimated accumulate headroom size to be greater than the real one and unable to be applied.
Why I did it
Bug fix
How I verified it
Run regression test.
Details if related
An example to explain the logic .
The current accumulative headroom is 90k, egress mirror headroom is 10k, the ASIC limitation of the port is 100k.
Now a user wants to change the port configuration which will make the accumulative headroom to be increased by 10k.
Now the accumulative headroom estimated by buffer manager is 100k, which doesn’t exceed the limitation. However in the ASIC the real accumulative headroom is 110k which does.