Skip to content
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

[portsorch] Ports initialization speedup #3506

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

stepanblyschak
Copy link
Contributor

DEPENDS ON: sonic-net/sonic-sairedis#1509

What I did

Optimized port initialization process using the following approach:

  1. Attributes that are known at initialization (whether because their default values are defined by the SAI spec or because we created the port with a value we already know) like speed and MTU.
  2. Heavy operations like querying list of PGs and queues are done in bulk to save on SAIRedis call overhead.
  3. Port initialization that has no dependncy on subsequent data plane configuration are extracted into a seperate "post initialization" routine and executed after data plane configuration is done.
  4. Save SAI set API call when possible to provide a value during creation.

Why I did it

To improve boot time for systems with many ports.

How I verified it

Ran fast-reboot and measure. Observed 45% reduction in time.

Details if related

Signed-off-by: Stepan Blyschak <[email protected]>
Signed-off-by: Stepan Blyschak <[email protected]>
Signed-off-by: Stepan Blyschak <[email protected]>
@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants