Documentation: seqlock: s/LOCKTYPE/LOCKNAME/g

Sequence counters with an associated write serialization lock are called
seqcount_LOCKNAME_t. Fix the documentation accordingly.

While at it, remove a paragraph that inappropriately discussed a
seqlock.h implementation detail.

Fixes: 6dd699b13d ("seqlock: seqcount_LOCKNAME_t: Standardize naming convention")
Signed-off-by: Ahmed S. Darwish <a.darwish@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20201206162143.14387-2-a.darwish@linutronix.de
This commit is contained in:
Ahmed S. Darwish 2020-12-06 17:21:41 +01:00 committed by Peter Zijlstra
parent 617f3ef951
commit cf48647243
1 changed files with 10 additions and 11 deletions

View File

@ -89,7 +89,7 @@ Read path::
.. _seqcount_locktype_t: .. _seqcount_locktype_t:
Sequence counters with associated locks (``seqcount_LOCKTYPE_t``) Sequence counters with associated locks (``seqcount_LOCKNAME_t``)
----------------------------------------------------------------- -----------------------------------------------------------------
As discussed at :ref:`seqcount_t`, sequence count write side critical As discussed at :ref:`seqcount_t`, sequence count write side critical
@ -115,27 +115,26 @@ The following sequence counters with associated locks are defined:
- ``seqcount_mutex_t`` - ``seqcount_mutex_t``
- ``seqcount_ww_mutex_t`` - ``seqcount_ww_mutex_t``
The plain seqcount read and write APIs branch out to the specific The sequence counter read and write APIs can take either a plain
seqcount_LOCKTYPE_t implementation at compile-time. This avoids kernel seqcount_t or any of the seqcount_LOCKNAME_t variants above.
API explosion per each new seqcount LOCKTYPE.
Initialization (replace "LOCKTYPE" with one of the supported locks):: Initialization (replace "LOCKNAME" with one of the supported locks)::
/* dynamic */ /* dynamic */
seqcount_LOCKTYPE_t foo_seqcount; seqcount_LOCKNAME_t foo_seqcount;
seqcount_LOCKTYPE_init(&foo_seqcount, &lock); seqcount_LOCKNAME_init(&foo_seqcount, &lock);
/* static */ /* static */
static seqcount_LOCKTYPE_t foo_seqcount = static seqcount_LOCKNAME_t foo_seqcount =
SEQCNT_LOCKTYPE_ZERO(foo_seqcount, &lock); SEQCNT_LOCKNAME_ZERO(foo_seqcount, &lock);
/* C99 struct init */ /* C99 struct init */
struct { struct {
.seq = SEQCNT_LOCKTYPE_ZERO(foo.seq, &lock), .seq = SEQCNT_LOCKNAME_ZERO(foo.seq, &lock),
} foo; } foo;
Write path: same as in :ref:`seqcount_t`, while running from a context Write path: same as in :ref:`seqcount_t`, while running from a context
with the associated LOCKTYPE lock acquired. with the associated write serialization lock acquired.
Read path: same as in :ref:`seqcount_t`. Read path: same as in :ref:`seqcount_t`.