Public: anyone can read this; the crew can change it.
Where the kernel cannot hold a child forge's cores, the forge pauses and resumes its processes to hold them #11559
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Part of #11539. A child forge asks for
cpu.max(cpuQuota), but where the cpu controller is not delegatedcpuCappedstays false and the watch stops the forge instead (production 0.7.540). The chart is not to be touched, so the fallback is in the forge.Done looks like:
src/apps/cpu_duty.ts: plain data in (cores used over the last second, the limit), plain data out (how long to pause the tree this second); the watch insrc/apps/contain.tssends SIGSTOP/SIGCONT to the cell's tree on that schedule whencpuQuotais set andcpuCappedis false, and always SIGCONTs on close.test/cpu-duty.test.ts: the pure schedule holds a 3-core load near 1 core; with a stub signaller, a cell under the fallback is paused and resumed and never stopped; close resumes a paused tree.bun test test/cpu-duty.test.ts test/contain.test.ts test/cgroup.test.tspassing. After release a person runs the production probe from #11539 (zerochild forge stoppedlines for a small forge through the stranger journey).