Skip to content

[pfcwd] Add half of polling time as compensation for test_pfcwd_timer_accuracy#14589

Merged
StormLiangMS merged 3 commits intosonic-net:masterfrom
lipxu:20240914_publicMaster_pfcwd_polling
Sep 14, 2024
Merged

[pfcwd] Add half of polling time as compensation for test_pfcwd_timer_accuracy#14589
StormLiangMS merged 3 commits intosonic-net:masterfrom
lipxu:20240914_publicMaster_pfcwd_polling

Conversation

@lipxu
Copy link
Copy Markdown
Contributor

@lipxu lipxu commented Sep 14, 2024

Description of PR

Summary:
Fixes # (issue)

Type of change

  • Bug fix
  • Testbed and Framework(new/improvement)
  • Test case(new/improvement)

Back port request

  • 202012
  • 202205
  • 202305
  • 202311
  • 202405

Approach

What is the motivation for this PR?

test_pfcwd_timer_accuracy case is flaky on Arisa platform. Sometimes the detect time is larger than the config detect time.
Both the config detect time and polling time are 400ms, and most of the real detect times range between 800 ~ 1000 ms.
Based on lua script log, in the failure loop (the detect time is larger than the config detect time), it took 3 polling durations to trigger the pfc storm, and in most of these cases, there was a little traffic in the first loop pooling duration. Suppose the timestamp for the script to send PFC frames was at the end of the first polling duration. then cause there were no enough PFC received and trigger the pfc storm in the third polling loop.

How did you do it?

Add half of polling time as compensation for the detect config time.

How did you verify/test it?

Run the case

Any platform specific information?

Broadcom

Supported testbed topology if it's a new test case?

Documentation

Copy link
Copy Markdown
Collaborator

@StormLiangMS StormLiangMS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@StormLiangMS StormLiangMS merged commit 55b6684 into sonic-net:master Sep 14, 2024
mssonicbld pushed a commit to mssonicbld/sonic-mgmt that referenced this pull request Sep 14, 2024
…_accuracy (sonic-net#14589)

What is the motivation for this PR?
test_pfcwd_timer_accuracy case is flaky on Arisa platform. Sometimes the detect time is larger than the config detect time.
Both the config detect time and polling time are 400ms, and most of the real detect times range between 800 ~ 1000 ms.
Based on lua script log, in the failure loop (the detect time is larger than the config detect time), it took 3 polling durations to trigger the pfc storm, and in most of these cases, there was a little traffic in the first loop pooling duration. Suppose the timestamp for the script to send PFC frames was at the end of the first polling duration. then cause there were no enough PFC received and trigger the pfc storm in the third polling loop.

How did you do it?
Add half of polling time as compensation for the detect config time.

How did you verify/test it?
Run the case
@mssonicbld
Copy link
Copy Markdown
Collaborator

Cherry-pick PR to 202311: #14592

mssonicbld pushed a commit to mssonicbld/sonic-mgmt that referenced this pull request Sep 14, 2024
…_accuracy (sonic-net#14589)

What is the motivation for this PR?
test_pfcwd_timer_accuracy case is flaky on Arisa platform. Sometimes the detect time is larger than the config detect time.
Both the config detect time and polling time are 400ms, and most of the real detect times range between 800 ~ 1000 ms.
Based on lua script log, in the failure loop (the detect time is larger than the config detect time), it took 3 polling durations to trigger the pfc storm, and in most of these cases, there was a little traffic in the first loop pooling duration. Suppose the timestamp for the script to send PFC frames was at the end of the first polling duration. then cause there were no enough PFC received and trigger the pfc storm in the third polling loop.

How did you do it?
Add half of polling time as compensation for the detect config time.

How did you verify/test it?
Run the case
@mssonicbld
Copy link
Copy Markdown
Collaborator

Cherry-pick PR to 202405: #14593

mssonicbld pushed a commit that referenced this pull request Sep 14, 2024
…_accuracy (#14589)

What is the motivation for this PR?
test_pfcwd_timer_accuracy case is flaky on Arisa platform. Sometimes the detect time is larger than the config detect time.
Both the config detect time and polling time are 400ms, and most of the real detect times range between 800 ~ 1000 ms.
Based on lua script log, in the failure loop (the detect time is larger than the config detect time), it took 3 polling durations to trigger the pfc storm, and in most of these cases, there was a little traffic in the first loop pooling duration. Suppose the timestamp for the script to send PFC frames was at the end of the first polling duration. then cause there were no enough PFC received and trigger the pfc storm in the third polling loop.

How did you do it?
Add half of polling time as compensation for the detect config time.

How did you verify/test it?
Run the case
mssonicbld pushed a commit that referenced this pull request Sep 14, 2024
…_accuracy (#14589)

What is the motivation for this PR?
test_pfcwd_timer_accuracy case is flaky on Arisa platform. Sometimes the detect time is larger than the config detect time.
Both the config detect time and polling time are 400ms, and most of the real detect times range between 800 ~ 1000 ms.
Based on lua script log, in the failure loop (the detect time is larger than the config detect time), it took 3 polling durations to trigger the pfc storm, and in most of these cases, there was a little traffic in the first loop pooling duration. Suppose the timestamp for the script to send PFC frames was at the end of the first polling duration. then cause there were no enough PFC received and trigger the pfc storm in the third polling loop.

How did you do it?
Add half of polling time as compensation for the detect config time.

How did you verify/test it?
Run the case
hdwhdw pushed a commit to hdwhdw/sonic-mgmt that referenced this pull request Sep 20, 2024
…_accuracy (sonic-net#14589)

What is the motivation for this PR?
test_pfcwd_timer_accuracy case is flaky on Arisa platform. Sometimes the detect time is larger than the config detect time.
Both the config detect time and polling time are 400ms, and most of the real detect times range between 800 ~ 1000 ms.
Based on lua script log, in the failure loop (the detect time is larger than the config detect time), it took 3 polling durations to trigger the pfc storm, and in most of these cases, there was a little traffic in the first loop pooling duration. Suppose the timestamp for the script to send PFC frames was at the end of the first polling duration. then cause there were no enough PFC received and trigger the pfc storm in the third polling loop.

How did you do it?
Add half of polling time as compensation for the detect config time.

How did you verify/test it?
Run the case
arista-hpandya pushed a commit to arista-hpandya/sonic-mgmt that referenced this pull request Oct 2, 2024
…_accuracy (sonic-net#14589)

What is the motivation for this PR?
test_pfcwd_timer_accuracy case is flaky on Arisa platform. Sometimes the detect time is larger than the config detect time.
Both the config detect time and polling time are 400ms, and most of the real detect times range between 800 ~ 1000 ms.
Based on lua script log, in the failure loop (the detect time is larger than the config detect time), it took 3 polling durations to trigger the pfc storm, and in most of these cases, there was a little traffic in the first loop pooling duration. Suppose the timestamp for the script to send PFC frames was at the end of the first polling duration. then cause there were no enough PFC received and trigger the pfc storm in the third polling loop.

How did you do it?
Add half of polling time as compensation for the detect config time.

How did you verify/test it?
Run the case
vikshaw-Nokia pushed a commit to vikshaw-Nokia/sonic-mgmt that referenced this pull request Oct 23, 2024
…_accuracy (sonic-net#14589)

What is the motivation for this PR?
test_pfcwd_timer_accuracy case is flaky on Arisa platform. Sometimes the detect time is larger than the config detect time.
Both the config detect time and polling time are 400ms, and most of the real detect times range between 800 ~ 1000 ms.
Based on lua script log, in the failure loop (the detect time is larger than the config detect time), it took 3 polling durations to trigger the pfc storm, and in most of these cases, there was a little traffic in the first loop pooling duration. Suppose the timestamp for the script to send PFC frames was at the end of the first polling duration. then cause there were no enough PFC received and trigger the pfc storm in the third polling loop.

How did you do it?
Add half of polling time as compensation for the detect config time.

How did you verify/test it?
Run the case
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants