Re: [RFC][PATCH 3/3] staging: ion: Avoid using rt_mutexes directly.

From: John Stultz
Date: Mon Dec 16 2013 - 20:22:56 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/