Re: [PATCH] Lock 7 is cpuidle specific, use non-generic value for locking

From: Andy Gross
Date: Fri Mar 13 2015 - 16:02:17 EST


On Thu, Mar 12, 2015 at 04:16:00PM -0600, Lina Iyer wrote:

<snip>

> >It looks like the remote side unlocks it too? It doesn't seem like this
> >will work with the framework very well. The framework has a kernel
> >spinlock attached to the hwspinlock so when we lock the hwspinlock we
> >also lock the kernel spinlock and we only release the kernel spinlock
> >when the kernel unlocks the hwspinlock. In this case it seems like
> >cpuidle wants to have it's own kernel spinlock and just use the trylock
> >loop part of __hwspin_lock_timeout() without taking any kernel side
> >locks. Plus it wants to write a specific value to the lock.
> >
> Right.
> Just noticed that part of the hwspinlock. Yes SCM unlocks the
> hwspinlock. So I cannot hold any lock in Linux. May need changes in the
> hwspinlock framework. Seems like an additional flag in hwspinlock to not
> lock any in the trylock path work work. Hmm....

Or a specific EXPORT function for this one usecase which is unlike anyone elses
usage.

--
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

--
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/