myxce/src/scheduler/include
Rongsong Shen 3224e90683
fix(scheduler): apply a mid-replay CONFIG_PUSH to the sim limit plugin (bug-1964)
Cause: live applies every pushed config through sched_init_config(),
whose plugin_config_update() runs each plugin's config_hook (the limit
plugin builds its limits there). The simulator seeded the limit plugin
only at bootstrap (sim_bootstrap_limit_plugin()); the core's CONFIG_PUSH
event loaded groups, resources and queues but never told the plugins,
so a limit added during a replay never existed in sim.

Fix: one shared fan-out, plugin_config_update_core(core, config), which
live's plugin_config_update() now delegates to. The core's CONFIG_PUSH
calls a driver-registered xce_core_config_cb_t after loading groups (live
order), keeping the core free of plugin.c; the simulator registers the
fan-out in sim_bootstrap_limit_plugin(). limit_update_config() reads the
honestly-typed plugin->core instead of casting plugin->sched, so the hook
is safe on the sim core; the hand-built plugin fixtures in
test_limit_plugin.c/test_repl_limit_table.c now set plugin->core as
plugin_register() does. test_sim_limit_config_push_parity.c covers it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-10 10:41:40 +00:00
..
sched fix(scheduler): place a task-range job with the largest count that fits (bug-1931) 2026-10-09 08:51:44 +00:00
cli_compat.h feat(scheduler-sim-discrete-clock): --sim-speed deprecation-warning helper and discrete-clock test binary (task 1.1) 2026-09-29 04:23:46 +00:00
core.h fix(scheduler): apply a mid-replay CONFIG_PUSH to the sim limit plugin (bug-1964) 2026-10-10 10:41:40 +00:00
decision.h feat(scheduler-sim-decision-trace): trace attachment and trace-only op on decisions 2026-10-08 08:40:37 +00:00
driver.h feat(scheduler-core): implement record start/stop lifecycle (task 9.2) 2026-08-05 09:07:51 +00:00
plugin.h fix(scheduler): apply a mid-replay CONFIG_PUSH to the sim limit plugin (bug-1964) 2026-10-10 10:41:40 +00:00
recording.h fix(scheduler): record events before the core applies them (bug-1852) 2026-09-24 08:41:55 +00:00
repl.h feat(scheduler-sim-decision-trace): wire tracing into the simulation driver 2026-10-08 15:35:20 +00:00
scheduler.h fix(scheduler): cache hits keep the full pend reason; sim uses the cache (bug-1932) 2026-10-09 08:02:18 +00:00
sim.h fix(scheduler): cache hits keep the full pend reason; sim uses the cache (bug-1932) 2026-10-09 08:02:18 +00:00