The logger subsystem needs architectural improvement to reliably handle concurrent output from M-mode and U-mode tasks.
These issues were identified during U-mode(#62) and PMP(#32) development:
These issues are not independent bugs—they stem from a fundamental design tension: async logging via ring buffer and direct UART output via sys_tputs coexist without synchronization. Patching any single issue in isolation is likely to require changes that affect the others.
A proper fix will involve rethinking how output paths interact, which means the logger architecture needs refactoring. This issue tracks the overall effort.
Acceptance Criteria
The logger subsystem needs architectural improvement to reliably handle concurrent output from M-mode and U-mode tasks.
These issues were identified during U-mode(#62) and PMP(#32) development:
sys_tputsthrough unboundedNOSCHEDblocking #65These issues are not independent bugs—they stem from a fundamental design tension: async logging via ring buffer and direct UART output via
sys_tputscoexist without synchronization. Patching any single issue in isolation is likely to require changes that affect the others.A proper fix will involve rethinking how output paths interact, which means the logger architecture needs refactoring. This issue tracks the overall effort.
Acceptance Criteria
sys_tputsthrough unboundedNOSCHEDblocking #65, Non-monotonic output timeline in mixed M-mode/U-mode execution #66) are resolved