[Qos]HeadroomPoolSize test with dynamic_threshold based buffer allocation #16885
[Qos]HeadroomPoolSize test with dynamic_threshold based buffer allocation #16885yxieca merged 10 commits intosonic-net:masterfrom
Conversation
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
@vmittal-msft , please review. |
|
/azp run |
|
Pull request contains merge conflicts. |
| pkts_num_trig_pfc: 657523 | ||
| pkts_num_hdrm_full: 622850 | ||
| pkts_num_hdrm_partial: 622750 | ||
| margin: 300 | ||
| pkts_num_trig_pfc: 542448 | ||
| pkts_num_hdrm_full: 713397 | ||
| pkts_num_hdrm_partial: 713250 | ||
| margin: 100 |
There was a problem hiding this comment.
Could you share details on how you calculated these values so we can do a similar calculation for qos_params.j2.yaml?
There was a problem hiding this comment.
Could you share details on how you calculated these values so we can do a similar calculation for
qos_params.j2.yaml?
@ansrajpu-git if you might help reply? thanks.
There was a problem hiding this comment.
Could you share details on how you calculated these values so we can do a similar calculation for
qos_params.j2.yaml?
@arista-nwolfe , the calculation is based on the Pool_size and the alpha value (dynamic threshold) used.
The pkts_num_trig_pfc is calculated as = 2** (alpha value) x R , where R is the remaining pool_ size
The pkts_num_headroom_full is the same value as buffer allocation per vsq.
Above value calculated has to be divided by the packet size used in test, to place in qos_yaml file.
|
Also note that on a T2 full topology with all J2c+ LCs I saw the tests skipped due to |
There was a problem hiding this comment.
@ansrajpu-git It looks good to me. Please handle minor comments as discussed on call. Also, please re-base.
|
/azp run |
|
Pull request contains merge conflicts. |
@arista-nwolfe , For broadcom-dnx, T2 topology ,buffer profile except "400000_120000m" has a smaller headroom per vsq , which is not sufficient to fill the Nominal headroom with available ports.For ex., 400000_2000m has a nominal headroom of ~791MB but the headroom per vsq is ~1.44MB. Upon calculating, 273 ports are needed approximately to fill the headroom. |
394e15c to
65812d7
Compare
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
@vmittal-msft , comments update and rebase done. |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
830a959 to
f753878
Compare
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
Cherry-pick -PR-Azure/sonic-mgmt.msft#191 raised for msft-202405 branch |
|
@ansrajpu-git |
@XuChen-MSFT , The new test has similar test steps to previous test 'HdrmPoolSizeTest' but it was working with multiple check condition for broadcom-dnx platform. With the dynamic buffer allocation, the test was intermittently failing, and we see that there is some adjustment need between the shared pool almost filled and trigger pfc frames ,precisely with few more packets. |
|
@XuChen-MSFT we can discuss this if you have any concern. please ping. |
|
Cherry-pick for msft-202503 -Azure/sonic-mgmt.msft#236 |
…tion (sonic-net#16885) What is the motivation for this PR? Verifying HeadroomPoolsize test for broadcom-dnx chassis How did you verify/test it? Executed qos test for headroomPool size and verify the results
…hold based buffer allocation (sonic-net#236) Cherry-pick (sonic-net#16885) What is the motivation for this PR? Verifying HeadroomPoolsize test for broadcom-dnx chassis How did you verify/test it? Executed qos test for headroomPool size and verify the results
…tion (sonic-net#16885) What is the motivation for this PR? Verifying HeadroomPoolsize test for broadcom-dnx chassis How did you verify/test it? Executed qos test for headroomPool size and verify the results Signed-off-by: opcoder0 <110003254+opcoder0@users.noreply.github.com>
…tion (sonic-net#16885) What is the motivation for this PR? Verifying HeadroomPoolsize test for broadcom-dnx chassis How did you verify/test it? Executed qos test for headroomPool size and verify the results Signed-off-by: Aharon Malkin <amalkin@nvidia.com>
…tion (sonic-net#16885) What is the motivation for this PR? Verifying HeadroomPoolsize test for broadcom-dnx chassis How did you verify/test it? Executed qos test for headroomPool size and verify the results Signed-off-by: Guy Shemesh <gshemesh@nvidia.com>
…tion (sonic-net#16885) What is the motivation for this PR? Verifying HeadroomPoolsize test for broadcom-dnx chassis How did you verify/test it? Executed qos test for headroomPool size and verify the results Signed-off-by: Guy Shemesh <gshemesh@nvidia.com>
Description of PR
The existing HeadroomPool size test is based on traditional way of buffer allocation to calculate the headroompoolsize.
For Broadcom chassis, this new test calculates the buffer allocation using dynamic threshold to fill shared pool & headroom and verify the headroom size per vsq.
Skip test :-testQosSaiHeadroomPoolWatermark - SAI_BUFFER_POOL_STAT_XOFF_ROOM_WATERMARK_BYTES is not supported on broadcom-dnx
Summary:
For Broadcom chassis, since the headroom per vsq is huge, 4 src port are used to fill the headroom.
Fixes # (issue)
Issue : #13503
Type of change
Back port request
Approach
What is the motivation for this PR?
Verifying HeadroomPoolsize test for broadcom-dnx chassis
How did you do it?
How did you verify/test it?
Executed qos test for headroomPool size and verify the results


Resource allocation
max headroom per vsq
Any platform specific information?
Supported testbed topology if it's a new test case?
Documentation