refactor(scheduler-sim-decision-trace): split trace sources under the 800-line cap
Task 2.4: outcome capture moves to sched_trace_outcome.c and the position/host/summary/rollback half of the model to sched_trace_scan.c; shared helpers go behind sched_trace_internal.h (sti_ prefix). Code is moved unchanged; every target that compiles the trace sources gets all four, and the core isolation scan covers the new files. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
eacb1fa599
commit
144a01982e
40 changed files with 1355 additions and 1094 deletions
|
|
@ -241,6 +241,18 @@ sched_core_isolation_test = executable(
|
|||
+ (meson.current_source_dir() / '..' / 'src'
|
||||
/ 'sched_trace_capture.c')
|
||||
+ '"',
|
||||
'-DXCE_SCHED_TRACE_SCAN_C_PATH="'
|
||||
+ (meson.current_source_dir() / '..' / 'src'
|
||||
/ 'sched_trace_scan.c')
|
||||
+ '"',
|
||||
'-DXCE_SCHED_TRACE_OUTCOME_C_PATH="'
|
||||
+ (meson.current_source_dir() / '..' / 'src'
|
||||
/ 'sched_trace_outcome.c')
|
||||
+ '"',
|
||||
'-DXCE_SCHED_TRACE_INTERNAL_H_PATH="'
|
||||
+ (meson.current_source_dir() / '..' / 'src'
|
||||
/ 'sched_trace_internal.h')
|
||||
+ '"',
|
||||
'-DXCE_CORE_LIB_PATH="'
|
||||
+ sched_core_isolation_lib.full_path()
|
||||
+ '"'],
|
||||
|
|
@ -2520,10 +2532,12 @@ test('scheduler repl trace baseline test',
|
|||
# scheduler-sim-decision-trace task 1.3: decision trace record model
|
||||
# (src/sched_trace.c) unit tests -- selection matching, record header and
|
||||
# per-record arena copying and size, record finishing. Links only the model
|
||||
# source; libxce supplies the jobid helpers.
|
||||
# sources (sched_trace.c and, since task 2.4, sched_trace_scan.c); libxce
|
||||
# supplies the jobid helpers.
|
||||
sched_trace_model_test = executable(
|
||||
'sched_trace_model_test',
|
||||
['test_trace_model.c', '../src/sched_trace.c'],
|
||||
['test_trace_model.c', '../src/sched_trace.c',
|
||||
'../src/sched_trace_scan.c'],
|
||||
include_directories:[incdir],
|
||||
dependencies: [scheduler_test_deps],
|
||||
install: false)
|
||||
|
|
@ -2537,7 +2551,8 @@ test('scheduler trace model test',
|
|||
# src/decision.c; links the record model for its constructor and free.
|
||||
sched_decision_trace_test = executable(
|
||||
'sched_decision_trace_test',
|
||||
['test_decision_trace.c', '../src/sched_trace.c'],
|
||||
['test_decision_trace.c', '../src/sched_trace.c',
|
||||
'../src/sched_trace_scan.c'],
|
||||
include_directories:[incdir],
|
||||
dependencies: [scheduler_test_deps],
|
||||
install: false)
|
||||
|
|
@ -2549,11 +2564,13 @@ test('scheduler decision trace test',
|
|||
# scheduler-sim-decision-trace task 2.1: capture helpers (design.md
|
||||
# "TraceCapture") over a fixture core and job -- selection facts,
|
||||
# cluster-wide limits and attempt failure reasons. Links the record model
|
||||
# and the capture source; libxce supplies the pend-reason helpers.
|
||||
# and the capture sources (split in task 2.4); libxce supplies the
|
||||
# pend-reason helpers.
|
||||
sched_trace_capture_test = executable(
|
||||
'sched_trace_capture_test',
|
||||
['test_trace_capture.c', '../src/sched_trace.c',
|
||||
'../src/sched_trace_capture.c'],
|
||||
'../src/sched_trace_scan.c', '../src/sched_trace_capture.c',
|
||||
'../src/sched_trace_outcome.c'],
|
||||
include_directories:[incdir],
|
||||
dependencies: [scheduler_test_deps],
|
||||
install: false)
|
||||
|
|
|
|||
|
|
@ -13,7 +13,9 @@
|
|||
#include "../src/resource.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
|
||||
/* scheduler-sim-live-allocation spec, task 1.3: sim.h only depends on
|
||||
* core.h (+ stdbool/stdint/stdio, per its own header comment), so it is
|
||||
|
|
|
|||
|
|
@ -111,7 +111,9 @@
|
|||
#include "../src/driver.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/recording.c"
|
||||
#include "../src/recording_events.c"
|
||||
#include "../src/snapshot.c"
|
||||
|
|
|
|||
|
|
@ -25,7 +25,9 @@
|
|||
#include "../src/alloc_runner.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/plugins/parjob_allocator.c"
|
||||
|
||||
/* Link-satisfying stubs (same convention as test_seqjob_allocator.c). */
|
||||
|
|
|
|||
|
|
@ -40,7 +40,9 @@
|
|||
#include "../src/alloc_runner.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/plugins/seqjob_allocator.c"
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
|
|
|||
|
|
@ -38,7 +38,9 @@
|
|||
#include "../src/alloc_runner.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/plugins/seqjob_allocator.c"
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
|
|
|||
|
|
@ -31,7 +31,9 @@
|
|||
#include "../src/resource.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/schedobj.c"
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
|
|
|||
|
|
@ -40,7 +40,9 @@ static void* test_calloc(size_t n, size_t sz);
|
|||
#include "../src/resource.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/schedobj.c"
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
|
|
|||
|
|
@ -36,7 +36,9 @@ static void* test_realloc(void* p, size_t n);
|
|||
#include "../src/resource.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/schedobj.c"
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
|
|
|||
|
|
@ -72,7 +72,9 @@
|
|||
#include "../src/resource.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
|
||||
void kill_sched_job(void* arg) { (void)arg; }
|
||||
void kill_sched_queue(void* arg) { (void)arg; }
|
||||
|
|
|
|||
|
|
@ -64,11 +64,13 @@
|
|||
* sidesteps that entirely by checking *usage*, not *visibility*).
|
||||
*
|
||||
* Decision trace sources (scheduler-sim-decision-trace spec, task 1.3,
|
||||
* design.md "Invariant Cross-Check" dimension 2): sched_trace.c (record
|
||||
* model) and sched_trace_capture.c (capture helpers) run on the allocator
|
||||
* design.md "Invariant Cross-Check" dimension 2): sched_trace.c and
|
||||
* sched_trace_scan.c (record model), sched_trace_capture.c and
|
||||
* sched_trace_outcome.c (capture helpers) and their shared
|
||||
* sched_trace_internal.h (split in task 2.4) run on the allocator
|
||||
* thread inside the core's allocation chain, so they join layer 1's
|
||||
* forbidden-headers and forbidden-symbols scans, plus a check that applies
|
||||
* to these two files only: no stdio, no file I/O and no logging (a trace
|
||||
* to these trace files only: no stdio, no file I/O and no logging (a trace
|
||||
* record is pure data; only the simulator REPL renders or writes it). They
|
||||
* are NOT part of layer 2: sched_core_isolation_lib covers the four core
|
||||
* state-machine files, and the capture file references scheduler symbols
|
||||
|
|
@ -117,6 +119,18 @@
|
|||
#error \
|
||||
"XCE_SCHED_TRACE_CAPTURE_C_PATH must be defined by meson.build to sched_trace_capture.c's absolute path"
|
||||
#endif
|
||||
#ifndef XCE_SCHED_TRACE_SCAN_C_PATH
|
||||
#error \
|
||||
"XCE_SCHED_TRACE_SCAN_C_PATH must be defined by meson.build to sched_trace_scan.c's absolute path"
|
||||
#endif
|
||||
#ifndef XCE_SCHED_TRACE_OUTCOME_C_PATH
|
||||
#error \
|
||||
"XCE_SCHED_TRACE_OUTCOME_C_PATH must be defined by meson.build to sched_trace_outcome.c's absolute path"
|
||||
#endif
|
||||
#ifndef XCE_SCHED_TRACE_INTERNAL_H_PATH
|
||||
#error \
|
||||
"XCE_SCHED_TRACE_INTERNAL_H_PATH must be defined by meson.build to sched_trace_internal.h's absolute path"
|
||||
#endif
|
||||
#ifndef XCE_CORE_LIB_PATH
|
||||
#error \
|
||||
"XCE_CORE_LIB_PATH must be defined by meson.build to the absolute path of core.c's isolated static_library() archive"
|
||||
|
|
@ -217,6 +231,9 @@ static void test_core_source_paths_are_readable(void)
|
|||
char* cc = read_whole_file(XCE_CORE_CLOCK_C_PATH);
|
||||
char* st = read_whole_file(XCE_SCHED_TRACE_C_PATH);
|
||||
char* sc = read_whole_file(XCE_SCHED_TRACE_CAPTURE_C_PATH);
|
||||
char* ss = read_whole_file(XCE_SCHED_TRACE_SCAN_C_PATH);
|
||||
char* so = read_whole_file(XCE_SCHED_TRACE_OUTCOME_C_PATH);
|
||||
char* si = read_whole_file(XCE_SCHED_TRACE_INTERNAL_H_PATH);
|
||||
|
||||
TEST_ASSERT_NOT_NULL_MESSAGE(h, XCE_CORE_H_PATH);
|
||||
TEST_ASSERT_NOT_NULL_MESSAGE(c, XCE_CORE_C_PATH);
|
||||
|
|
@ -225,6 +242,9 @@ static void test_core_source_paths_are_readable(void)
|
|||
TEST_ASSERT_NOT_NULL_MESSAGE(cc, XCE_CORE_CLOCK_C_PATH);
|
||||
TEST_ASSERT_NOT_NULL_MESSAGE(st, XCE_SCHED_TRACE_C_PATH);
|
||||
TEST_ASSERT_NOT_NULL_MESSAGE(sc, XCE_SCHED_TRACE_CAPTURE_C_PATH);
|
||||
TEST_ASSERT_NOT_NULL_MESSAGE(ss, XCE_SCHED_TRACE_SCAN_C_PATH);
|
||||
TEST_ASSERT_NOT_NULL_MESSAGE(so, XCE_SCHED_TRACE_OUTCOME_C_PATH);
|
||||
TEST_ASSERT_NOT_NULL_MESSAGE(si, XCE_SCHED_TRACE_INTERNAL_H_PATH);
|
||||
|
||||
free(h);
|
||||
free(c);
|
||||
|
|
@ -233,6 +253,9 @@ static void test_core_source_paths_are_readable(void)
|
|||
free(cc);
|
||||
free(st);
|
||||
free(sc);
|
||||
free(ss);
|
||||
free(so);
|
||||
free(si);
|
||||
}
|
||||
|
||||
/* Scans one file's text for every FORBIDDEN_INCLUDES entry, tagging each
|
||||
|
|
@ -261,6 +284,9 @@ static void test_core_never_includes_forbidden_headers(void)
|
|||
char* cc = read_whole_file(XCE_CORE_CLOCK_C_PATH);
|
||||
char* st = read_whole_file(XCE_SCHED_TRACE_C_PATH);
|
||||
char* sc = read_whole_file(XCE_SCHED_TRACE_CAPTURE_C_PATH);
|
||||
char* ss = read_whole_file(XCE_SCHED_TRACE_SCAN_C_PATH);
|
||||
char* so = read_whole_file(XCE_SCHED_TRACE_OUTCOME_C_PATH);
|
||||
char* si = read_whole_file(XCE_SCHED_TRACE_INTERNAL_H_PATH);
|
||||
|
||||
TEST_ASSERT_NOT_NULL(h);
|
||||
TEST_ASSERT_NOT_NULL(c);
|
||||
|
|
@ -269,6 +295,9 @@ static void test_core_never_includes_forbidden_headers(void)
|
|||
TEST_ASSERT_NOT_NULL(cc);
|
||||
TEST_ASSERT_NOT_NULL(st);
|
||||
TEST_ASSERT_NOT_NULL(sc);
|
||||
TEST_ASSERT_NOT_NULL(ss);
|
||||
TEST_ASSERT_NOT_NULL(so);
|
||||
TEST_ASSERT_NOT_NULL(si);
|
||||
|
||||
assert_no_forbidden_includes(h, "core.h");
|
||||
assert_no_forbidden_includes(c, "core.c");
|
||||
|
|
@ -277,6 +306,9 @@ static void test_core_never_includes_forbidden_headers(void)
|
|||
assert_no_forbidden_includes(cc, "core_clock.c");
|
||||
assert_no_forbidden_includes(st, "sched_trace.c");
|
||||
assert_no_forbidden_includes(sc, "sched_trace_capture.c");
|
||||
assert_no_forbidden_includes(ss, "sched_trace_scan.c");
|
||||
assert_no_forbidden_includes(so, "sched_trace_outcome.c");
|
||||
assert_no_forbidden_includes(si, "sched_trace_internal.h");
|
||||
|
||||
free(h);
|
||||
free(c);
|
||||
|
|
@ -285,6 +317,9 @@ static void test_core_never_includes_forbidden_headers(void)
|
|||
free(cc);
|
||||
free(st);
|
||||
free(sc);
|
||||
free(ss);
|
||||
free(so);
|
||||
free(si);
|
||||
}
|
||||
|
||||
/* Shared by test_core_never_calls_forbidden_symbols() -- see
|
||||
|
|
@ -313,6 +348,9 @@ static void test_core_never_calls_forbidden_symbols(void)
|
|||
char* cc = read_whole_file(XCE_CORE_CLOCK_C_PATH);
|
||||
char* st = read_whole_file(XCE_SCHED_TRACE_C_PATH);
|
||||
char* sc = read_whole_file(XCE_SCHED_TRACE_CAPTURE_C_PATH);
|
||||
char* ss = read_whole_file(XCE_SCHED_TRACE_SCAN_C_PATH);
|
||||
char* so = read_whole_file(XCE_SCHED_TRACE_OUTCOME_C_PATH);
|
||||
char* si = read_whole_file(XCE_SCHED_TRACE_INTERNAL_H_PATH);
|
||||
|
||||
TEST_ASSERT_NOT_NULL(h);
|
||||
TEST_ASSERT_NOT_NULL(c);
|
||||
|
|
@ -321,6 +359,9 @@ static void test_core_never_calls_forbidden_symbols(void)
|
|||
TEST_ASSERT_NOT_NULL(cc);
|
||||
TEST_ASSERT_NOT_NULL(st);
|
||||
TEST_ASSERT_NOT_NULL(sc);
|
||||
TEST_ASSERT_NOT_NULL(ss);
|
||||
TEST_ASSERT_NOT_NULL(so);
|
||||
TEST_ASSERT_NOT_NULL(si);
|
||||
|
||||
assert_no_forbidden_symbols(h, "core.h");
|
||||
assert_no_forbidden_symbols(c, "core.c");
|
||||
|
|
@ -329,6 +370,9 @@ static void test_core_never_calls_forbidden_symbols(void)
|
|||
assert_no_forbidden_symbols(cc, "core_clock.c");
|
||||
assert_no_forbidden_symbols(st, "sched_trace.c");
|
||||
assert_no_forbidden_symbols(sc, "sched_trace_capture.c");
|
||||
assert_no_forbidden_symbols(ss, "sched_trace_scan.c");
|
||||
assert_no_forbidden_symbols(so, "sched_trace_outcome.c");
|
||||
assert_no_forbidden_symbols(si, "sched_trace_internal.h");
|
||||
|
||||
free(h);
|
||||
free(c);
|
||||
|
|
@ -337,6 +381,9 @@ static void test_core_never_calls_forbidden_symbols(void)
|
|||
free(cc);
|
||||
free(st);
|
||||
free(sc);
|
||||
free(ss);
|
||||
free(so);
|
||||
free(si);
|
||||
}
|
||||
|
||||
/* core_clock.c is deliberately NOT scanned here -- it is the one
|
||||
|
|
@ -386,8 +433,9 @@ static void test_core_never_calls_wallclock_functions(void)
|
|||
/*
|
||||
* No stdio, no file I/O, no logging in the decision trace sources
|
||||
* (scheduler-sim-decision-trace design.md, TraceModel / TraceCapture: "No
|
||||
* I/O and no tlog"). Applies to sched_trace.c and sched_trace_capture.c
|
||||
* only.
|
||||
* I/O and no tlog"). Applies to the trace sources only: sched_trace.c,
|
||||
* sched_trace_scan.c, sched_trace_capture.c, sched_trace_outcome.c and
|
||||
* sched_trace_internal.h.
|
||||
*
|
||||
* Comments, string literals and character literals are blanked before the
|
||||
* scan, so prose such as "never calls fopen" in a comment is not a hit.
|
||||
|
|
@ -650,15 +698,27 @@ static void test_trace_sources_do_no_stdio_or_file_io(void)
|
|||
{
|
||||
char* st = read_whole_file(XCE_SCHED_TRACE_C_PATH);
|
||||
char* sc = read_whole_file(XCE_SCHED_TRACE_CAPTURE_C_PATH);
|
||||
char* ss = read_whole_file(XCE_SCHED_TRACE_SCAN_C_PATH);
|
||||
char* so = read_whole_file(XCE_SCHED_TRACE_OUTCOME_C_PATH);
|
||||
char* si = read_whole_file(XCE_SCHED_TRACE_INTERNAL_H_PATH);
|
||||
|
||||
TEST_ASSERT_NOT_NULL(st);
|
||||
TEST_ASSERT_NOT_NULL(sc);
|
||||
TEST_ASSERT_NOT_NULL(ss);
|
||||
TEST_ASSERT_NOT_NULL(so);
|
||||
TEST_ASSERT_NOT_NULL(si);
|
||||
|
||||
assert_trace_source_has_no_io(st, "sched_trace.c");
|
||||
assert_trace_source_has_no_io(sc, "sched_trace_capture.c");
|
||||
assert_trace_source_has_no_io(ss, "sched_trace_scan.c");
|
||||
assert_trace_source_has_no_io(so, "sched_trace_outcome.c");
|
||||
assert_trace_source_has_no_io(si, "sched_trace_internal.h");
|
||||
|
||||
free(st);
|
||||
free(sc);
|
||||
free(ss);
|
||||
free(so);
|
||||
free(si);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -62,7 +62,9 @@
|
|||
#include "../src/driver.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
|
||||
void kill_sched_job(void* arg) { (void)arg; }
|
||||
void kill_sched_queue(void* arg) { (void)arg; }
|
||||
|
|
|
|||
|
|
@ -165,7 +165,9 @@
|
|||
#include "../src/driver.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/plugin.c"
|
||||
|
||||
void kill_sched_job(void* arg) { (void)arg; }
|
||||
|
|
|
|||
|
|
@ -60,7 +60,9 @@
|
|||
#include "../src/driver.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
|
||||
void kill_sched_job(void* arg) { (void)arg; }
|
||||
void kill_sched_queue(void* arg) { (void)arg; }
|
||||
|
|
|
|||
|
|
@ -70,7 +70,9 @@
|
|||
#include "../src/host_iter.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
|
||||
/* Link-satisfying stubs -- identical set to test_resource_accounting.c's
|
||||
* own (see that file's header comment for the full rationale). None of
|
||||
|
|
|
|||
|
|
@ -96,7 +96,9 @@
|
|||
#include "../src/resource.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/schedobj.c"
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
|
|
|||
|
|
@ -97,7 +97,9 @@
|
|||
#include "../src/driver.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/plugin.c"
|
||||
#include "../src/recording.c"
|
||||
#include "../src/recording_events.c"
|
||||
|
|
|
|||
|
|
@ -92,7 +92,9 @@
|
|||
#include "../src/resource.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/schedobj.c"
|
||||
|
||||
void plugin_unregister(void* arg) { (void)arg; }
|
||||
|
|
|
|||
|
|
@ -87,7 +87,9 @@
|
|||
#include "../src/driver.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
|
||||
void kill_sched_job(void* arg) { (void)arg; }
|
||||
void kill_sched_queue(void* arg) { (void)arg; }
|
||||
|
|
|
|||
|
|
@ -52,7 +52,9 @@
|
|||
#include "../src/alloc_runner.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/plugins/seqjob_allocator.c"
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
|
|
|||
|
|
@ -95,7 +95,9 @@
|
|||
#include "../src/alloc_runner.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/plugins/seqjob_allocator.c"
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
|
|
|||
|
|
@ -208,7 +208,9 @@
|
|||
#include "../src/resource.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/sim.c"
|
||||
#include "../src/sim_loop.c"
|
||||
#include "../src/sim_picker.c" /* bug-1567: sched_sim_driver_run() calls sim_bootstrap_picker() (sim_loop.c-cap sibling) as an extern -- undefined reference at link time otherwise */
|
||||
|
|
|
|||
|
|
@ -202,7 +202,9 @@
|
|||
#include "../src/resource.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/sim.c"
|
||||
#include "../src/sim_loop.c"
|
||||
#include "../src/sim_picker.c" /* bug-1567: sched_sim_driver_run() calls sim_bootstrap_picker() (sim_loop.c-cap sibling) as an extern -- undefined reference at link time otherwise */
|
||||
|
|
|
|||
|
|
@ -191,7 +191,9 @@
|
|||
#include "../src/driver.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/plugin.c"
|
||||
#include "../src/plugins/builtin_fcfs.c"
|
||||
#include "../src/recording.c"
|
||||
|
|
|
|||
|
|
@ -139,7 +139,9 @@
|
|||
#include "../src/resource.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/sim.c"
|
||||
#include "../src/sim_loop.c"
|
||||
#include "../src/sim_picker.c" /* bug-1567: sim_loop.c calls sim_bootstrap_picker() (sim_loop.c-cap sibling) as an extern -- undefined reference at link time otherwise */
|
||||
|
|
|
|||
|
|
@ -146,7 +146,9 @@
|
|||
#include "../src/resource.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/sim.c"
|
||||
#include "../src/sim_loop.c"
|
||||
#include "../src/sim_picker.c" /* bug-1567: sched_sim_driver_run() now calls sim_bootstrap_picker() (sim_loop.c-cap sibling) as an extern -- undefined reference at link time otherwise */
|
||||
|
|
|
|||
|
|
@ -114,7 +114,9 @@
|
|||
#include "../src/resource.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/sim.c"
|
||||
#include "../src/sim_loop.c"
|
||||
#include "../src/sim_picker.c" /* bug-1567: sched_sim_driver_run() calls sim_bootstrap_picker() (sim_loop.c-cap sibling) as an extern -- undefined reference at link time otherwise */
|
||||
|
|
|
|||
|
|
@ -136,7 +136,9 @@
|
|||
#include "../src/driver.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/plugins/builtin_fcfs.c"
|
||||
#include "../src/recording.c"
|
||||
#include "../src/recording_events.c"
|
||||
|
|
|
|||
|
|
@ -101,7 +101,9 @@
|
|||
#include "../src/resource.c"
|
||||
/* Hooked sources compile SCHED_TRACE bodies (scheduler-sim-decision-trace). */
|
||||
#include "../src/sched_trace.c"
|
||||
#include "../src/sched_trace_scan.c"
|
||||
#include "../src/sched_trace_capture.c"
|
||||
#include "../src/sched_trace_outcome.c"
|
||||
#include "../src/snapshot.c"
|
||||
#include "../src/snapshot_load.c"
|
||||
#include "../src/snapshot_wire.c"
|
||||
|
|
|
|||
|
|
@ -40,8 +40,9 @@
|
|||
* - with 50 or fewer hosts the pend copy equals its source under
|
||||
* job_preason_eq(), the equality libxce defines for pend reasons.
|
||||
*
|
||||
* Links src/sched_trace.c and src/sched_trace_capture.c, plus libxce for
|
||||
* the pend-reason, resmgr and container helpers.
|
||||
* Links the trace model (src/sched_trace.c, sched_trace_scan.c) and the
|
||||
* capture sources (src/sched_trace_capture.c, sched_trace_outcome.c), plus
|
||||
* libxce for the pend-reason, resmgr and container helpers.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
|
|
|||
|
|
@ -32,7 +32,8 @@
|
|||
* tallying hits per limit (5.9, 5.10);
|
||||
* - consecutive released-host calls merge into one rollback entry (5.8).
|
||||
*
|
||||
* Links only src/sched_trace.c (plus libxce for the jobid helpers).
|
||||
* Links only the model, src/sched_trace.c and src/sched_trace_scan.c (plus
|
||||
* libxce for the jobid helpers).
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue