Skip to content

FlowEntry child list should have a bounded length - #1043

Merged
FelixMcFelix merged 2 commits into
benchmark-evict-expirefrom
bound-flow-children
Sep 7, 2026
Merged

FlowEntry child list should have a bounded length#1043
FelixMcFelix merged 2 commits into
benchmark-evict-expirefrom
bound-flow-children

Conversation

@FelixMcFelix

@FelixMcFelix FelixMcFelix commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

LFT FlowEntry elements track a list of all their children. These are our UFT and TCP flow entries -- if we evict an LFT entry, then the child entries can no longer be used. We also use these lists to determine whether an LFT entry can be evicted using the active TCP flow state information, if present.

We know that this set should be bounded, so this PR makes this into a hard requirement to cap the amount of time we can spend computing any one flow's eviction score. This was not the cause of our performance woes relating to flow expiry, but I think that it's a strong belt-and-braces property worth enforcing all of the time.

@rcgoodfellow
rcgoodfellow self-requested a review September 2, 2026 21:23

@rcgoodfellow rcgoodfellow left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM. Just one non blocking note on observability.

Comment thread lib/opte/src/engine/flow_table.rs
This was not the cause of our performance woes relating to flow expiry,
but I think that it's a strong belt-and-braces property worth enforcing
all of the time anyhow.
@FelixMcFelix
FelixMcFelix merged commit b4db2b5 into master Sep 7, 2026
10 checks passed
@FelixMcFelix
FelixMcFelix deleted the bound-flow-children branch September 7, 2026 11:05
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.

2 participants