upvote
Very different situation as stuff inside the kernel presumably cannot be preeempted at any time. Preemption does a number on spinlocks.
reply
Totally fair. I haven’t done much kernel stuff (outside of very basic toy stuff for QEMU).

At the level I work (which is generally server/distributed stuff), I have always used mutexes that are built into the platform.

Or more realistically, if I am the one writing the code, I just avoid mutexes and make my code ridiculously convoluted to do so.

reply
Kernel can prevent preemption (mostly). Userspace can not (mostly).
reply
Heh, I lost it myself when reading it, so you're not wrong.
reply