Follow-up to #46, which fixed the early-boot hang in the gale x86_64 SMP path. With the hang gone, the three SMP suites now boot and run, exposing two distinct gale-SMP-correctness issues (previously masked):
1. smp_threads (tests/kernel/threads/thread_apis) — 9 subtest failures
Stock (no gale): PROJECT EXECUTION SUCCESSFUL, 86/0. Gale overlay: 77 PASS / 9 FAIL, threads_lifecycle suite 86.67%. Failing subtests:
test_resume_unsuspend_thread
test_thread_name_user_get_set
test_threads_abort_others
test_threads_spawn_forever
Points at gale's thread_lifecycle / sched primitives diverging from stock under SMP.
2. smp_mutex (tests/kernel/mutex/mutex_api) — hangs inside the test
Boots and prints Running TESTSUITE mutex_api, then hangs (no further output, >40s). A gale mutex operation appears to deadlock/hang under SMP (distinct from the spinlock-validate boot hang).
Repro (local, qemu_x86_64 SMP, Zephyr SDK x86_64-zephyr-elf):
west build -b qemu_x86_64 -s zephyr/tests/kernel/threads/thread_apis \
-- -DOVERLAY_CONFIG="<gale>/zephyr/gale_overlay.conf;<gale>/zephyr/gale_smp_overlay.conf" \
-DZEPHYR_EXTRA_MODULES=<gale>
west build -t run
(smp_semaphore fully passes after #46 — 61/0 — so the harness/overlay is sound; these are primitive-specific.)
Follow-up to #46, which fixed the early-boot hang in the gale x86_64 SMP path. With the hang gone, the three SMP suites now boot and run, exposing two distinct gale-SMP-correctness issues (previously masked):
1.
smp_threads(tests/kernel/threads/thread_apis) — 9 subtest failuresStock (no gale):
PROJECT EXECUTION SUCCESSFUL, 86/0. Gale overlay: 77 PASS / 9 FAIL,threads_lifecyclesuite 86.67%. Failing subtests:test_resume_unsuspend_threadtest_thread_name_user_get_settest_threads_abort_otherstest_threads_spawn_foreverPoints at gale's
thread_lifecycle/schedprimitives diverging from stock under SMP.2.
smp_mutex(tests/kernel/mutex/mutex_api) — hangs inside the testBoots and prints
Running TESTSUITE mutex_api, then hangs (no further output, >40s). A gale mutex operation appears to deadlock/hang under SMP (distinct from the spinlock-validate boot hang).Repro (local, qemu_x86_64 SMP, Zephyr SDK
x86_64-zephyr-elf):(
smp_semaphorefully passes after #46 — 61/0 — so the harness/overlay is sound; these are primitive-specific.)