Conversation
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
Collaborator
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
Point the submodules at the PR branches to produce a test image: platform/vpp -> lolyu/sonic-platform-vpp @ adjust_vpp_workers (fecb772) src/sonic-sairedis -> lolyu/sonic-sairedis @ vpp_acl_in_port_match (fba649b) This PR exists only to build a test image and will not be merged. Signed-off-by: Longxiang Lyu <lolv@microsoft.com>
lolyu
force-pushed
the
test_vpp_worker_reduction
branch
from
September 9, 2026 07:16
2339e3c to
ada07ae
Compare
Collaborator
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why I did it
Do not merge. This PR exists only to produce a test image; it will not be merged.
It carries two independent VPP changes that both need validation on a built image:
VPP_WORKERSoverrideSAI_ACL_ENTRY_ATTR_FIELD_IN_PORTSis honoured#282 matters because every VPP worker busy-polls a full core whether or not traffic is
flowing:
vlib/file.cskips the epoll sleep while any input node is polling, and thepoll-sleep-usecthrottle isis_main-guarded so it can never apply to a worker. Withvirtio (
1af4:1041) supporting neither interrupt nor adaptive rx-mode, the worker count isthe only available lever. Dropping 2 to 1 measured 282% to 178% VPP CPU per DUT and took the
host run queue from 11 to 7.
#2064 matters because
saivpppreviously accepted theIN_PORTSqualifier, reportedsuccess, then discarded the scope — so an entry meant to drop on one port dropped on every
port the table was bound to.
The two changes are unrelated and touch disjoint code; they share an image only because both
need the same VPP testbed to validate.
Work item tracking
How I did it
Repointed two submodules at the PR branches:
src/sonic-swssis deliberately left on upstream master. Both branches arebehind=0relative to their upstreams, so this image is master plus exactly the two changes above.
How to verify it
Build the VPP image and deploy to a KVM testbed.
Worker count — expect one
vpp_wk_*thread, not two:The override still works, and
0is accepted as main-thread forwarding:ACL
IN_PORTS— a scoped entry should install one VPP rule per named port, and a standbymux port should not drop traffic on unrelated ports:
Test suites to run on a
dualtor-aa-vpptestbed:dualtor_io/test_normal_op.pyacl/test_acl.pydrop_packets/test_drop_counters.py