3 ms·
Thanks for sharing! Happy to get feedback :) Note that I don't recommend spinlock for most cases, only when there is a 1:1 mapping between threads and phsycal
by dalvrosa 19d ago
Thanks for sharing! Happy to get feedback :)
Note that I don't recommend spinlock for most cases, only when there is a 1:1 mapping between threads and phsycal CPU cores, and only after measuring
- loeg 17d agoSpinlocks are unsuitable for situations where you can be involuntarily context switched (the vast majority of userspace programs). Probably worth mentioning that.
- josefx 16d agoUnsuitable? Probably depends on your use case. Even a normal end user system shouldn't constantly kick your threads out unless it has enough other things to do to to keep every core busy.
- loeg 16d ago> unless it has enough other things to do to to keep every core busy. And in this all-cores-busy case, do you want your waiters burning one of those precious cores while lock holders are preempted? If you care enough about your system design to even affirmatively select spinlocks in the first place, you should probably also care enough to not use them in preemptible userspace. Or at least, I am not aware of any reasonable usecase. Hybrid sleeplocks are fine, of course.