diff options
| author | GuEe-GUI <[email protected]> | 2026-10-20 15:58:07 +0800 |
|---|---|---|
| committer | Rbb666 <[email protected]> | 2026-10-22 17:59:29 +0800 |
| commit | 2a4e78d2321cff9bc2ad2d41f5c18cfe5e82595b (patch) | |
| tree | 776e4c104e04b7bd586fa0f614a4b39fcbe5c49b /examples/utest/testcases/cpp11 | |
| parent | dff75f072fe2b047325a312d6b944dd3acce8676 (diff) | |
[libcpu][risc-v] Fix ticket spinlock stalls under SMP contention
Eight-core boot on SpacemiT K1 could stall with one CPU in the
unlock LR/SC loop, two CPUs allocating tickets, and the remaining
CPUs waiting for the scheduler lock.
Replace LR/SC ticket allocation with amoadd.w.aqrl and release the
lock with a halfword owner update. Order critical-section accesses
after acquiring ownership and before releasing it.
Verified eight-core boot on K1 with temporary diagnostics and
reservation-clearing changes removed.
Signed-off-by: GuEe-GUI <[email protected]>
Diffstat (limited to 'examples/utest/testcases/cpp11')
0 files changed, 0 insertions, 0 deletions
