summaryrefslogtreecommitdiff
path: root/examples/utest/testcases/cpp11
diff options
context:
space:
mode:
authorGuEe-GUI <[email protected]>2026-10-20 15:58:07 +0800
committerRbb666 <[email protected]>2026-10-22 17:59:29 +0800
commit2a4e78d2321cff9bc2ad2d41f5c18cfe5e82595b (patch)
tree776e4c104e04b7bd586fa0f614a4b39fcbe5c49b /examples/utest/testcases/cpp11
parentdff75f072fe2b047325a312d6b944dd3acce8676 (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