Thread (27 messages) 27 messages, 5 authors, 2021-04-14

Re: [dpdk-dev] [PATCH v3] pflock: implementation of phase-fair reader writer locks

From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2021-03-29 17:22:52

On Mon, 29 Mar 2021 03:14:29 +0000
Honnappa Nagarahalli [off-list ref] wrote:
<snip>
quoted
Subject: [PATCH v3] pflock: implementation of phase-fair reader writer locks

This is a new type of reader-writer lock that provides better fairness
guarantees which makes it better for typical DPDK applications.
They lock internally uses two ticket pools, one for readers and one for  
    ^^^^ The
quoted
writers.

Phase fair reader writer locks ensure that neither reader or writer will be
starved. Neither reader or writer are preferred, they execute in alternating
phases. All operations of the same time (reader or writer) that try to acquire  
                                                                  ^^^^ type
quoted
the lock are handled in FIFO order.  Write operations are exclusive, and
multiple read operations can be run together (until a write arrives).

A similar implementation is in Concurrency Kit package in FreeBSD.
For more information see:
   "Reader-Writer Synchronization for Shared-Memory Multiprocessor
    Real-Time Systems",
    http://www.cs.unc.edu/~anderson/papers/ecrts09b.pdf

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Any more comments? Other than the typos in the commit log...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help