Commit c56f565
committed
os/kernel: Update sysdbg availabe in current TizenRT
- Modified sysdbg structures to support multiple CPUs by adding arrays for scheduling and IRQ history.
- Modified sysdbg_print to display task and IRQ scheduling history per CPU.
- Modified sysdbg to use spin_lock_irqsave() instead of enter_critical_section(), because enter_critical_section makes recursive call.
- enter_critical_section() -> up_cpu_paused_restore() -> up_restoretask() -> save_task_scheduling_status() -> enter_critical_section()
- spin_lock_irqsave blocks interrupt and provides SMP-safe protection for sysdbg_struct without the enter_critical_section()
- Modified to call blocking functions(lldbg, kmm_free, kmm_zalloc) outside of spinlock to avoid deadlock.
- This patch makes sysdbg available in current TizenRT system.
Signed-off-by: seokhun-eom <seokhun.eom@samsung.com>1 parent 71fa807 commit c56f565
2 files changed
+565
-147
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
105 | 109 | | |
106 | 110 | | |
107 | 111 | | |
| 112 | + | |
108 | 113 | | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
109 | 118 | | |
110 | 119 | | |
111 | 120 | | |
| 121 | + | |
112 | 122 | | |
113 | 123 | | |
114 | 124 | | |
| |||
0 commit comments