On 12/16/2013 04:17 PM, Colin Cross wrote: > The lock is only used to protect the heap's free_list and > free_list_size members, and is not held for any long or sleeping > operations. Converting to a spinlock should prevent priority > inversion without using the rt_mutex. I'd also rename it to free_lock > to so it doesn't get used as a general heap lock.
Hrm.. So at least a trivial conversion to use spinlocks doesn't quite work out, as we call ion_buffer_destroy() in ion_heap_freelist_drain() while holding the lock, and that calls all sorts of not safe stuff. I'll spend some more time looking at it later tonight, but let me know if you have an approach for this case in mind. thanks -john -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

