Re: [Xen-devel] [PATCHv4 3/5] xen: use ticket locks for spin locks

2015-05-14 Thread Jan Beulich
>>> 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

Re: [Xen-devel] [PATCHv4 3/5] xen: use ticket locks for spin locks

2015-05-14 Thread Tim Deegan
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

Re: [Xen-devel] [PATCHv4 3/5] xen: use ticket locks for spin locks

2015-05-14 Thread Jan Beulich
>>> "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

Re: [Xen-devel] [PATCHv4 3/5] xen: use ticket locks for spin locks

2015-05-14 Thread Jan Beulich
>>> 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

Re: [Xen-devel] [PATCHv4 3/5] xen: use ticket locks for spin locks

2015-05-14 Thread Tim Deegan
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

Re: [Xen-devel] [PATCHv4 3/5] xen: use ticket locks for spin locks

2015-05-13 Thread Jan Beulich
>>> 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)