-
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
[QoS] Support dynamic headroom calculation for Barefoot platforms #2323
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Michał Mysłek <michal.myslek@intel.com>
FYI. Comments in #2317 are also applicable here. |
@stephenxs, I did it to be consistent with the design you created. The condition is always true due to the attribute setting - it returns 0.
If I understand your proposal incorrectly, could you set me straight on it? |
@stephenxs, the buffer pool script was simplified to these fixed numbers as a first try to handle this, but in the future it is necessary to support the buffer reconfiguration. You are right - so far, it would be better to read it in this lua script from CONFIG_DB to improve the extensibility. |
@stephenxs, in my opinion It is not satisfactory in this case. Anyway, I believe it would be worth to add the oversubscribe ratio parameter for Barefoot's platforms too as a improvement in other PR. As far as I understand the meaning of the parameter, it refers to the number of ports and it is set by a network operator based on the packet flow analysis. Is it correct? Could you help me understand what it means when we have shared headroom pool model? One day I was considering if it could be represented as the number of lossless PGs in the system. What do you think? |
[SS]
[SS]
[SS]
I see you enabled it via always returning non-zero |
Assume the accumulative headroom sizes of all PGs on all ports is H, then the shared headroom pool size is M/
The accumulative headroom is The problem here is that in your code, the size is calculated via multiplying 0.7, which can not be represented via dividing an integer. I'm ok to extend it to a float if necessary. |
Signed-off-by: Michał Mysłek michal.myslek@intel.com
What I did
Adding the dynamic headroom calculation support for Barefoot platforms.
Why I did it
Enabling dynamic mode for barefoot case.
How I verified it
The community tests are adjusted and pass.
Details if related