Displaying 3 results from an estimated 3 matches for "clear_and_set_pending".
2014 Jul 07
2
[PATCH 05/11] qspinlock: Optimize for smaller NR_CPUS
Il 07/07/2014 16:35, Peter Zijlstra ha scritto:
> On Wed, Jun 18, 2014 at 01:39:52PM +0200, Paolo Bonzini wrote:
>> Il 15/06/2014 14:47, Peter Zijlstra ha scritto:
>>>
>>> - for (;;) {
>>> - new = (val & ~_Q_PENDING_MASK) | _Q_LOCKED_VAL;
>>> -
>>> - old = atomic_cmpxchg(&lock->val, val, new);
>>> - if (old == val)
2014 Jul 07
2
[PATCH 05/11] qspinlock: Optimize for smaller NR_CPUS
Il 07/07/2014 16:35, Peter Zijlstra ha scritto:
> On Wed, Jun 18, 2014 at 01:39:52PM +0200, Paolo Bonzini wrote:
>> Il 15/06/2014 14:47, Peter Zijlstra ha scritto:
>>>
>>> - for (;;) {
>>> - new = (val & ~_Q_PENDING_MASK) | _Q_LOCKED_VAL;
>>> -
>>> - old = atomic_cmpxchg(&lock->val, val, new);
>>> - if (old == val)
2014 Jul 07
0
[PATCH 05/11] qspinlock: Optimize for smaller NR_CPUS
...locked doesn't change how
> qspinlock moves from a state to the next.
True, but its where we start to break up into smaller functions. And the
only reason we break them out is because we'll get different
implementations depending on NR_CPUS.
So we can view the breakout of xchg_tail and clear_and_set_pending as
preparatory work for introducing the NR_CPUS thing.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.linuxfoundation.org/pipermail/virtualization/attachments...