fix(scheduler-sim-decision-parity): give sim mode driver.c's round-boundary split (task 2.1)
Replaces sim_loop.c's monolithic xce_core_go() with the same xce_core_begin_session() -> sched_account_jobs() -> xce_core_signal_go() sequence driver.c already uses for normal-mode rounds, opening the same interleaving window and calling the now-core-level accounting service (task 1.1) at the same relative position. Error-handling for a failed session start is preserved byte-for-byte (same cleanup, same rc source). Both interactive and batch simulation runs go through this one call site. This is bug-1613's wiring half: sim_loop.c now calls sched_account_jobs() at all (it never did before). resInUse is still zero end-to-end after this task alone, because job->accounts is never populated by any live path in sim mode yet -- that's Recorded-Decision Reconciliation (tasks 2.2-2.4), not yet implemented; a comment marks where it slots in. Adds a call-count/session-window regression test proving the wiring itself (RED-phase reproduced live via git stash + rebuild, matching bug-1613's symptom exactly). 8 sibling white-box test files needed a link-satisfying sched_account_jobs() stub, discovered via actual linker errors. 45/46 scheduler tests pass; the 1 failure is pre-existing bug-1560 (unrelated). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
76ca61547e
commit
134380b871
12 changed files with 750 additions and 9 deletions
|
|
@ -88,6 +88,17 @@ int sched_fill_limit_requests(xce_scheduler_t* sched, xvec_idval_t* vec,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* sched_sim_driver_run()'s (sim_loop.c, scheduler-sim-decision-parity task
|
||||
* 2.1) new round-boundary call to the relocated sched_account_jobs()
|
||||
* (core.h) -- a no-op stand-in here since this file does not link
|
||||
* scheduler.c/resource.c, same rationale test_sim_equivalence.c's own copy
|
||||
* documents. */
|
||||
int sched_account_jobs(xce_sched_core_t* core)
|
||||
{
|
||||
(void)core;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Real reimplementation of schedobj.c's sched_resolve_job_picker -- same
|
||||
* copy every sim-family white-box test carries (schedobj.c is not linked
|
||||
* here: it would need plugin_register(), which requires a genuine
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue