Angus Gratton
4d42b2d100
freertos spinlock/portmux: Reduce spinlocking overhead
Ref TW7117
Microbenchmarks in unit tests:
(All numbers in cycles per benchmarked operation):
Release mode
No lock contention lock/unlock - 301 -> 167 (-45%)
Recursive no contention lock/unlock - 289 -> 148 (-49%)
Lock contention two CPUs (lock/unlock) 699 -> 400 (-43%)
Debug mode
No lock contention lock/unlock - 355 -> 203 (-43%)
Recursive no contention lock/unlock - 345 -> 188 (-46%)
Lock contention two CPUs (lock/unlock) 761 -> 483 (-36%)