docs+tools: the threading fix measured 5/5 against 1/5, and a driver lock
resume_reliability.sh counts, per boot, whether the title's loader thread became the CALLER of a kernel call. Counting boots where the press reached the title: before the fix 1 of 5 ran the loader; after it, 5 of 5. Three of the post-fix boots were driven far enough to classify the screen and all three reached the MAIN MENU, each with the same shape - title at 216-252s, 40 kernel calls by the loader, 6 ResolvePath reads. The failing boots before had zero of both, every time. Caveat kept in the doc: pre-fix runs were interleaved with compiles and a race is load-sensitive, so the counts corroborate the mechanism rather than carry it. Also fixes a self-inflicted confound. Two runs came back 'title_at_s=none' with the emulator log ending in 'Killed', which I first read as the title detector being too strict. It was not: an earlier copy of the script was still running because 'pkill -f resume_reliability.sh' had matched the shell running it rather than the script, and each of that copy's iterations kills the emulator BY NAME - outside run-canary's lockfile. The harness now takes its own lockfile and refuses a second copy, and the note records that pkill -f matches your own shell.
This commit is contained in:
@@ -21,6 +21,18 @@ mkdir -p "$OUT"
|
||||
CSV="$OUT/$TAG.csv"
|
||||
echo "run,title_at_s,thread_created,thread_ran_calls,resolvepath_after,screen" > "$CSV"
|
||||
|
||||
# Refuse to run two of these at once. Each iteration below kills the emulator by
|
||||
# name, which is outside run-canary's lockfile — so a second copy of this script
|
||||
# silently killed the first copy's boots mid-run and they were recorded as
|
||||
# failures ("title_at_s=none", the emulator log ending in "Killed"). One
|
||||
# emulator at a time has to mean one DRIVER at a time too.
|
||||
exec 8>/tmp/resume-reliability.lock
|
||||
if ! flock -n 8; then
|
||||
echo "resume_reliability.sh: another run is in progress (lock /tmp/resume-reliability.lock)" >&2
|
||||
echo " kill it with: pkill -x resume_reliability.sh # -x, NOT -f: -f matches your own shell" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for i in $(seq 1 "$RUNS"); do
|
||||
pkill -9 -x xenia_canary 2>/dev/null; sleep 3
|
||||
rm -f /tmp/xenia-canary.lock
|
||||
|
||||
Reference in New Issue
Block a user