Skip to content

sched_ext × Fusion Compiler: cgroup layer measurements (no BPF cosplay) - #14

Draft
sethupathib wants to merge 1 commit into
mainfrom
cursor/sched-ext-fc-6f4a
Draft

sched_ext × Fusion Compiler: cgroup layer measurements (no BPF cosplay)#14
sethupathib wants to merge 1 commit into
mainfrom
cursor/sched-ext-fc-6f4a

Conversation

@sethupathib

Copy link
Copy Markdown
Owner

Why

Prior I/O packaging felt handwavy for LinkedIn. This exercise is a CPU-layer story for multi-tenant FC farm nodes: overnight batch vs interactive-class (debug / Vortex), measured with the control plane that actually exists on this host.

What

New tree: sched-ext-fc/

  • fc_sched_bench — batch workers + interactive burn/latency probe
  • Policies: flat | nice | sched_batch | layers (cgroup 5:1) | protect
  • configs/scx_layered_*.json — same policy shape for when CONFIG_SCHED_EXT=y
  • Explicit kernel probe: this host has no /sys/kernel/sched_ext (BPF scheduler not loaded)
  • CLAIM_GATE — only cite share wins that pass

Measured (2-CPU pin, 6 batch + 1 burn)

policy ix CPU-eq batch vs flat
flat 0.50 1.00×
nice 1.00 0.67×
SCHED_BATCH 0.50 1.00× (null)
layers 5:1 1.00 0.67×

POSTABLE_POLICIES=nice,layers,protect — prefer citing layers for the sched_ext narrative.

Non-claims

  • Did not load scx_layered / scx_rusty
  • Did not patch Fusion Compiler
  • Did not claim short-wakeup latency wins (CFS already protects that shape here)

Docs

  • README.md — dense, no whitepaper theater
  • LINKEDIN_DRAFT.md — optional post text
  • DEFEND_QA.md
Open in Web Open in Cursor 

Measures cgroup v2 cpu.weight / nice / SCHED_BATCH under FC-shaped
batch vs interactive-class oversubscription. Documents scx_layered
policy mapping without claiming BPF sched_ext was loaded (CONFIG_SCHED_EXT
absent on this host). CLAIM_GATE keeps only share wins that survive.

Co-authored-by: Sethupathi Balakrishnan <b.sethupathi@gmail.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.

2 participants