Skip to content

runtime: keep managed keyed posts outside callback ingress - #133

Open
cpunion wants to merge 1 commit into
llvm-corofrom
coro/managed-keyed-ingress-20260802
Open

runtime: keep managed keyed posts outside callback ingress#133
cpunion wants to merge 1 commit into
llvm-corofrom
coro/managed-keyed-ingress-20260802

Conversation

@cpunion

@cpunion cpunion commented Aug 2, 2026

Copy link
Copy Markdown
Owner

Summary:

  • post scheduler-owned keyed semaphore/notify completions directly through the managed source/request/doorbell path
  • reserve TargetIngress leases for real external C/host producers that require strong callback join
  • add a source architecture gate preventing the managed path from reacquiring external ingress

Root cause:
The sync acceptance workload could return main while a managed keyed post was suspended in the external callback tail. Route 1 then reached backend retirement with TargetIngress state sealed+count=1 and waited forever. The llvm-coro baseline reproduced this in 30-40 runs at GOMAXPROCS=8; both baseline and candidate stacks stopped in coroNativeFleetRetireBackendV1 -> Pipe.WaitBounded.

Validation:

  • fresh LLGo sync stdlib acceptance compile/link/run
  • 250 consecutive runs of the independently built artifact at GOMAXPROCS=8
  • runtime architecture source gate
  • stdlib acceptance configuration and fixture tests

@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

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.

1 participant