feat(scheduler-allocator-runner): declare the allocator plugin contract (task 1.2)
xce_sched_allocator_iface_t (optional accepts guard + plan_init/next/fini) and the sched_allocator_run() entry point in sched/alloc_iter.h; the plugin's const allocator_iface reference, forward-declared in plugin.h with the picker_iface ownership rule. No plugin uses them yet. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
86ee3491dd
commit
31ad79d325
4 changed files with 54 additions and 3 deletions
|
|
@ -7,7 +7,7 @@
|
|||
- Done when the full scheduler suite builds and passes under ASAN with no plan generator taking a scheduler object, and the poisoned-core test shows identical plan sequences for parjob
|
||||
- _Requirements: 6.1, 6.2_
|
||||
|
||||
- [ ] 1.2 Declare the allocator plugin contract and the plugin's reference to it
|
||||
- [x] 1.2 Declare the allocator plugin contract and the plugin's reference to it
|
||||
- Add the allocator contract (optional acceptance guard plus plan initialise / next / finish) next to the plan-iterator contract, and declare the framework allocation entry point there
|
||||
- Add the plugin's reference to its allocator contract, documented with the same ownership rule as the job-picker contract: static storage in the plugin file, never freed by the registry, NULL for non-allocator plugins
|
||||
- Done when the scheduler and its suite build and pass unchanged with the new declarations present and no plugin using them yet
|
||||
|
|
@ -90,3 +90,7 @@
|
|||
- Done when the suite and the audit are clean and item 4 is marked resolved
|
||||
- _Depends: 4.2, 5.1_
|
||||
- _Requirements: 6.3, 7.1, 7.4, 7.5_
|
||||
|
||||
## Implementation Notes
|
||||
- Build/test only in the dedicated dir `src/build.alloc` (`bash src/tools/xce-build.sh scheduler asan build.alloc --jobs N --incremental`; baseline 90/90). Another session uses `src/xce.build`.
|
||||
- Several white-box scheduler test targets run with `detect_leaks=0` because their fixtures are not torn down (`testsuite/meson.build:1756`); a leak summary from running such a binary directly is pre-existing, not a regression. New tests that assert "no leak" (3.3) need leak detection on for their own target.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue