title: In the linux kernel, will a call to kfree ever sleep?
body: <p>The title is pretty much the question...</p>
  
  <p>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.</p>
  
  <p>Intuition tells me it shouldn't ever sleep, but I haven't found were that is explicit.</p>