Skip to content

seeq8003: stop the enet thread spinning after the first frame - #84

Merged
belikh merged 1 commit into
mainfrom
fix/seeq-enet-idle-spin
Oct 26, 2026
Merged

belikh merged 1 commit into
mainfrom
fix/seeq-enet-idle-spin

Conversation

@belikh

@belikh belikh commented Oct 23, 2026

Copy link
Copy Markdown

The seeq-enet thread skips its 50 ms wait while busy is true. The idle fast path (tx_result == Nothing && rx_result == Nothing) continued before recomputing busy, so after the first frame moved, busy stayed true forever and the thread spun at ~100% of a host core even with the guest parked.

Reproduction: boot any guest that transmits once (DHCP is enough) and then idles. top -H shows seeq-enet at ~99% indefinitely. With this change the thread returns to its condition wait when the pumps have nothing to move.

Measured with a WAIT-idle guest: seeq-enet drops from ~99% to 0%.

@techomancer

Copy link
Copy Markdown

aww macos runner pooped itself?

The enet thread skipped its wait whenever busy was true, but the idle
fast path continued before recomputing busy.  After the first transmitted
or received frame the flag therefore stayed set forever and the thread
spun at 100% of a host core for the rest of the run.  Clear it before
skipping the apply stage.
@belikh
belikh force-pushed the fix/seeq-enet-idle-spin branch from 2ac6beb to 64bc920 Compare October 26, 2026 12:14
@belikh

belikh commented Oct 26, 2026

Copy link
Copy Markdown
Author

Rebased onto current main; the macOS failure was the fleet script's bash 3.2 problem, fixed on main in 5260277. CI is rerunning.

@belikh
belikh merged commit bf23fc9 into main Oct 26, 2026
7 checks passed
@belikh
belikh deleted the fix/seeq-enet-idle-spin branch October 26, 2026 12:23
belikh added a commit that referenced this pull request Oct 26, 2026
Verified: getty 194-202% -> 1-2% host CPU, two parallel instances 1-2% each, wall-clock idle-pause boot 42-50s, tests green. The seeq-enet code fix landed separately in #84; this PR keeps its note and changelog.
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