myxce/src/scheduler
Rongsong Shen f51a19d3d5
fix(scheduler): hold jobs of inactive queues at dispatch (bug-1938)
sched_queue_is_ready() in core.c was a `return 1` stub, so the picker
(builtin_fcfs and the legacy fcfs) took jobs from every queue and admin
queue inactivation never reached dispatch.

It now returns false for a queue with QUEUE_STAT_INACT_ADMIN or
QUEUE_STAT_INACT_WINDOW set, so an inactive queue's jobs stay pending.
QUEUE_STAT_CLOSED is deliberately not a gate (LSF semantics: closing only
blocks new submissions; already-pending jobs still dispatch). The status
reaches the core through the same queue add/update paths in both drivers,
so live and sim behave identically. test_queue_admin_control.c covers
open, closed and inactive queues on both fixture shapes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-10 08:37:11 +00:00
..
include fix(scheduler): place a task-range job with the largest count that fits (bug-1931) 2026-10-09 08:51:44 +00:00
src fix(scheduler): hold jobs of inactive queues at dispatch (bug-1938) 2026-10-10 08:37:11 +00:00
testsuite fix(scheduler): hold jobs of inactive queues at dispatch (bug-1938) 2026-10-10 08:37:11 +00:00
CLAUDE.md test(scheduler-sim-decision-trace): bounds under large traces; update the scheduler guide 2026-10-08 17:11:52 +00:00
meson.build feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00