Messages in this thread | | | Date | Mon, 20 Jul 2020 21:37:52 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH v4 01/24] Documentation: locking: Describe seqlock design and usage |
| |
On Mon, 20 Jul 2020 21:35:51 -0400 Steven Rostedt <rostedt@goodmis.org> wrote:
> On Mon, 20 Jul 2020 17:55:07 +0200 > "Ahmed S. Darwish" <a.darwish@linutronix.de> wrote: > > +Read path, three categories: > > + > > +1. Normal Sequence readers which never block a writer but they must > > + retry if a writer is in progress by detecting change in the sequence > > + number. Writers do not wait for a sequence reader:: > > + > > + do { > > + seq = read_seqbegin(&foo_seqlock); > > + > > + /* ... [[read-side critical section]] ... */ > > + > > + } while (read_seqretry(&foo_seqlock, seq)); > > + > > +2. Locking readers which will wait if a writer or another locking reader > > + is in progress. A locking reader in progress will also block a writer > > + from entering its critical section. This read lock is > > + exclusive. Unlike rwlock_t, only one locking reader can acquire it:: > > Nit, but I would mention that this acts similar to a normal spin_lock, and even disables preeption (in the non-RT case).
What I learned today: Ctrl-return on claws mail sends the email :-p
I need to disable that before I send another email before I'm done with it!
I haven't finished reading the rest.
-- Steve
| |