Skip to content

[docker-orchagent]: Increase ndppd kernel poll interval#7456

Merged
lguohan merged 2 commits intosonic-net:masterfrom
theasianpianist:ndppd-cpu-fix
Apr 30, 2021
Merged

[docker-orchagent]: Increase ndppd kernel poll interval#7456
lguohan merged 2 commits intosonic-net:masterfrom
theasianpianist:ndppd-cpu-fix

Conversation

@theasianpianist
Copy link
Copy Markdown
Contributor

@theasianpianist theasianpianist commented Apr 28, 2021

Signed-off-by: Lawrence Lee lawlee@microsoft.com

Fixes #6823

Why I did it

ndppd by default reads /proc/net/ipv6_route ever 30 seconds. Since T1s advertise so many routes to ToRs, this file is extremely large, and reading it causes ndppd's CPU usage to spike every 30 seconds

How I did it

Increase the delay for reading this file to the maximum possible value (max integer value), which will result in CPU spikes every ~24 days instead of every 30 seconds

How to verify it

Start ndppd with the new config file, confirm that no CPU spikes are seen except at startup

Which release branch to backport (provide reason below if selected)

  • 201811
  • 201911
  • 202006
  • 202012

Description for the changelog

A picture of a cute animal (not mandatory but encouraged)

image

Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
@theasianpianist
Copy link
Copy Markdown
Contributor Author

/Azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
@theasianpianist
Copy link
Copy Markdown
Contributor Author

/Azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@theasianpianist theasianpianist requested a review from prsunny April 30, 2021 17:11
@lguohan lguohan merged commit 1b39424 into sonic-net:master Apr 30, 2021
@theasianpianist theasianpianist deleted the ndppd-cpu-fix branch May 13, 2021 23:11
raphaelt-nvidia pushed a commit to raphaelt-nvidia/sonic-buildimage that referenced this pull request May 23, 2021
Why I did it
ndppd by default reads /proc/net/ipv6_route ever 30 seconds. Since T1s advertise so many routes to ToRs, this file is extremely large, and reading it causes ndppd's CPU usage to spike every 30 seconds

How I did it
Increase the delay for reading this file to the maximum possible value (max integer value), which will result in CPU spikes every ~24 days instead of every 30 seconds

How to verify it
Start ndppd with the new config file, confirm that no CPU spikes are seen except at startup

Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
qiluo-msft pushed a commit that referenced this pull request Jun 2, 2021
Why I did it
ndppd by default reads /proc/net/ipv6_route ever 30 seconds. Since T1s advertise so many routes to ToRs, this file is extremely large, and reading it causes ndppd's CPU usage to spike every 30 seconds

How I did it
Increase the delay for reading this file to the maximum possible value (max integer value), which will result in CPU spikes every ~24 days instead of every 30 seconds

How to verify it
Start ndppd with the new config file, confirm that no CPU spikes are seen except at startup

Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
carl-nokia pushed a commit to carl-nokia/sonic-buildimage that referenced this pull request Aug 7, 2021
Why I did it
ndppd by default reads /proc/net/ipv6_route ever 30 seconds. Since T1s advertise so many routes to ToRs, this file is extremely large, and reading it causes ndppd's CPU usage to spike every 30 seconds

How I did it
Increase the delay for reading this file to the maximum possible value (max integer value), which will result in CPU spikes every ~24 days instead of every 30 seconds

How to verify it
Start ndppd with the new config file, confirm that no CPU spikes are seen except at startup

Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
vincentchiang-ec added a commit to vincentchiang-ec/sonic-buildimage-vincentchiang that referenced this pull request Apr 2, 2025
* Refer to the PR sonic-net/sonic-buildimage#7456
  Set the ndppd interval to a largest value can prevent it from frequently
  access route table.
  However, the route-ttl which is putted inside the if-block of the template
  won't exists inside the swss container.
* Move the setting out of the if-block to make it generate every time.
vincentchiang-ec added a commit to edge-core/sonic-buildimage that referenced this pull request Apr 2, 2025
* Refer to the PR sonic-net/sonic-buildimage#7456
  Set the ndppd interval to a largest value can prevent it from frequently
  access route table.
  However, the route-ttl which is putted inside the if-block of the template
  won't exists inside the swss container.
* Move the setting out of the if-block to make it generate every time.
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.

[ndppd] observing high cpu utilization

4 participants