>>> Tim Deegan 05/14/15 10:55 PM >>>
>At 21:05 +0100 on 14 May (1431637535), Jan Beulich wrote:
>> >>> Tim Deegan 05/14/15 12:36 PM >>>
>> >At 15:37 +0100 on 11 May (1431358623), David Vrabel wrote:
>> >> +while ( observe_head(&lock->tickets) != sample.tail )
>> >
>> >This test should be
At 21:05 +0100 on 14 May (1431637535), Jan Beulich wrote:
> >>> Tim Deegan 05/14/15 12:36 PM >>>
> >At 15:37 +0100 on 11 May (1431358623), David Vrabel wrote:
> >> void _spin_barrier(spinlock_t *lock)
> >> {
> >> +spinlock_tickets_t sample;
> >> #ifdef LOCK_PROFILE
> >> s_time_t block
>>> "Jan Beulich" 05/14/15 10:06 PM >>>
Tim Deegan 05/14/15 12:36 PM >>>
>>At 15:37 +0100 on 11 May (1431358623), David Vrabel wrote:
>>> void _spin_barrier(spinlock_t *lock)
>>> {
>>> +spinlock_tickets_t sample;
>>> #ifdef LOCK_PROFILE
>>> s_time_t block = NOW();
>>> -u64
>>> Tim Deegan 05/14/15 12:36 PM >>>
>At 15:37 +0100 on 11 May (1431358623), David Vrabel wrote:
>> void _spin_barrier(spinlock_t *lock)
>> {
>> +spinlock_tickets_t sample;
>> #ifdef LOCK_PROFILE
>> s_time_t block = NOW();
>> -u64 loop = 0;
>> +#endif
>>
>> check_barrie
At 15:37 +0100 on 11 May (1431358623), David Vrabel wrote:
> Replace the byte locks with ticket locks. Ticket locks are: a) fair;
> and b) peform better when contented since they spin without an atomic
> operation.
>
> The lock is split into two ticket values: head and tail. A locker
> acquires
>>> On 11.05.15 at 16:37, wrote:
> Replace the byte locks with ticket locks. Ticket locks are: a) fair;
> and b) peform better when contented since they spin without an atomic
> operation.
>
> The lock is split into two ticket values: head and tail. A locker
> acquires a ticket by (atomically)