Folly Code Review
folly::MicroSpinLock — 가장 좁은 spin lock
MicroSpinLock의 1-byte 표현, sleep 없는 순수 spin — 짧은 critical section 전용.
· 5분 읽기
cpp folly
6개의 포스트
MicroSpinLock의 1-byte 표현, sleep 없는 순수 spin — 짧은 critical section 전용.
PicoSpinLock — integer type의 한 bit을 lock으로 사용. 객체 안에 lock을 끼워 넣어 메모리 절약.
folly::RWSpinLock — spin-only reader-writer lock, 매우 짧은 critical section에 SharedMutex보다 빠르다.
ARM LDREX/STREX exclusive monitor와 ARMv8.1 LSE를 출발점으로 SMP spinlock 구현을 따라갑니다. test-and-test-and-set, ticket lock, MCS lock의 fairness와 cache bouncing trade-off, WFE/SEV로 만드는 저전력 spin을 정리합니다.
3 가지 구현 — cpsid/BASEPRI mask, taskENTER_CRITICAL, SMP spinlock. Hold time이 latency 결정.
Spinlock 비용 분석과 ticket lock, MCS lock의 scalability 차이.