Re: [PATCH RFC] hwspinlock: Don't take software spinlock before hwspinlock

From: Ohad Ben-Cohen
Date: Thu Jun 04 2015 - 21:10:24 EST


On Tue, May 26, 2015 at 11:36 PM, Lina Iyer <lina.iyer@xxxxxxxxxx> wrote:
>> Just to make sure I understand, is this how your scenario is solved?
>>
>> - c1 goes down
>> - c0 goes down, carries information about shared resources
>> - c1 takes HWLOCK and calls into SCM, stuck handling FIQs
>> - c0 wants to call into SCM but is waiting spinning on HWLOCK
>> - c1 completes handling FIQs, goes idle, HWLOCK is released by secure monitor
>> - c0 takes HWLOCK, calls into SCM, shared resources handled correctly,
>>
>> HWLOCK in this example is a single shared hwspinlock accessible by c0,
>> c1 and secure monitor.
>>
> That is correct.

Ok, thanks.

If we adopt the proposed approach in your patch, I'm thinking maybe we
should restrict it only to hardware implementations that explicitly
allow it, using some hardware capability flag published by the
hwspinlock driver.

In OMAP, e.g., it is prohibited to spin on this hwlock for a long
period of time, so such a hw cap flag would allow you guys to enable
this behaviour specifically for your driver.

What do you think?

Thanks,
Ohad.
--
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/