All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv3 0/2] spinlock: queued read-write locks
@ 2016-02-01 11:31 David Vrabel
  2016-02-01 11:31 ` [PATCHv3 1/2] spinlock: move rwlock API and per-cpu rwlocks into their own files David Vrabel
  2016-02-01 11:31 ` [PATCHv3 2/2] spinlock: fair read-write locks David Vrabel
  0 siblings, 2 replies; 7+ messages in thread
From: David Vrabel @ 2016-02-01 11:31 UTC (permalink / raw)
  To: xen-devel; +Cc: David Vrabel, Jan Beulich, Ian Campbell

This series replaces the current read-write lock implementation with
the queued read-write locks from Linux.  These are fair; under
contention both readers and writers will be queued and obtain the lock
in FIFO order (due to the fairness of the internal ticket lock).

The implementation is all in C and thus architecture independent.

Compared to the Linux implementation some of the memory barrier
primitives were changed.  The ARM maintainers may want to give this
area a careful review.

Changes in v3:

- Fix CONFIG_XSM build.

Significant changes in v2:

- atomic_cmpxchg() is now arch-dependent as arm/arm64 already provided
  their own.
- Moved rwlocks into their own file.
- Removed the special casing of in_irq() in the slow read path.

David

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-02-03 12:14 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-01 11:31 [PATCHv3 0/2] spinlock: queued read-write locks David Vrabel
2016-02-01 11:31 ` [PATCHv3 1/2] spinlock: move rwlock API and per-cpu rwlocks into their own files David Vrabel
2016-02-03 11:22   ` Jan Beulich
2016-02-01 11:31 ` [PATCHv3 2/2] spinlock: fair read-write locks David Vrabel
2016-02-03 11:28   ` Jan Beulich
2016-02-03 11:57     ` David Vrabel
2016-02-03 12:14       ` Jan Beulich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.