Skip to content

issues: a spawned thread starts in any LLC, not its spawner's - #1151

Draft
Japabu wants to merge 1 commit into
mainfrom
issue-spawn-llc
Draft

Japabu wants to merge 1 commit into
mainfrom
issue-spawn-llc

Conversation

@Japabu

@Japabu Japabu commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator

Files issues/a-spawned-thread-starts-in-any-llc-not-its-spawners.md, a defect in spawn placement found by #1129's ab9.

Problem

CpuHandles::place breaks ties by a rotation over the whole machine and never weighs the spawner's LLC. On the AMD bench, pipe.throughput's per-round writer thread followed that rotation (14, 15, 0, … 5 at 16384) in all six ab9 boots of both arms. Every round that put it in the other LLC from its reader read slow, without exception: about 2.0, 3.5 and 4.8 GB/s at 4096, 16384 and 65536, against about 5.0, 8.4 and 10.0 in one LLC. One same-LLC base round read 5.6 GB/s with nothing in its record to explain it; the issue records it as an open observation.

Evidence: ab9 judgment, per-boot rows.

Resulting behaviour

None: issues only. The fix (a spawned thread prefers a free core in its spawner's LLC) follows as its own PR, which the issue is assigned to.

Checks

None run: the change is one Markdown file. No gate checks issue frontmatter; review does (issues/README.md).

🤖 Generated with Claude Code

ab9 on the AMD bench: pipe.throughput's per-round writer thread follows
spawn placement's rotation over the whole machine, and every round that
lands it in the other LLC from its reader reads slow, in both arms and
without exception. One unexplained same-LLC slow round is recorded as an
open observation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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