Question

The title is pretty much the question...

I am writing some code that uses a spinlock to help in list management. The documentation on spinlocks are pretty clear about not making a call to anything that would sleep. I know there are ways to allocate memory that are "atomic", but I haven't seen anything about kfree or freeing the memory.

Intuition tells me it shouldn't ever sleep, but I haven't found were that is explicit.

Was it helpful?

Solution

No, it never sleeps. It's safe to call kfree from arbitrary context. The only exception is the NMI oopser and similar arch code.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top