[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201206162143.14387-1-a.darwish@linutronix.de>
Date: Sun, 6 Dec 2020 17:21:40 +0100
From: "Ahmed S. Darwish" <a.darwish@...utronix.de>
To: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>, Will Deacon <will@...nel.org>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
"Paul E. McKenney" <paulmck@...nel.org>,
Steven Rostedt <rostedt@...dmis.org>,
Jonathan Corbet <corbet@....net>,
Jason Gunthorpe <jgg@...dia.com>,
John Hubbard <jhubbard@...dia.com>,
LKML <linux-kernel@...r.kernel.org>,
"Sebastian A. Siewior" <bigeasy@...utronix.de>,
"Ahmed S. Darwish" <a.darwish@...utronix.de>
Subject: [PATCH -tip v1 0/3] seqlock: assorted cleanups
Hi,
When the seqcount_LOCKNAME_t group of data types were introduced, two
classes of seqlock.h sequence counter macros were added:
- An external public API which can either take a plain seqcount_t or
any of the seqcount_LOCKNAME_t variants.
- An internal API which takes only a plain seqcount_t.
To distinguish between the two groups, the "*_seqcount_t_*" pattern was
used for the latter. This confused a number of mm/ call-site developers,
and Linus also commented that this was not the standard practice for
marking kernel internal APIs. [1]
Distinguish the latter group of macros by prefixing a "do_".
A number of call-site developers also complained that the automatic
preemption disable/enable for the write side macros was not obvious, or
documented. [2] Linus also suggested adding few comments explaining that
behavior. [3] Fix it by completing the seqcount write side kernel-doc
annotations.
Finally, fix a minor naming inconsistency w.r.t. seqlock.h
vs. Documentation/locking/seqlock.rst.
This series does not change the output "allyesconfig" kernel binary:
text data bss ... filename
247616963 289662125 81498728 ... ../build-x86-64/vmlinux.old
247616963 289662125 81498728 ... ../build-x86-64/vmlinux
145054028 78270273 18435468 ... ../build-arm/vmlinux.old
145054028 78270273 18435468 ... ../build-arm/vmlinux
Note: based over -tip locking/core, instead of latest -rc, due to -tip
ab440b2c604b ("seqlock: Rename __seqprop() users").
References:
[1] https://lkml.kernel.org/r/CAHk-=wgB8nyOQufpn0o6a5BpJCJPnXvH+kRxApujhsgG+7qAwQ@mail.gmail.com
[2] https://lkml.kernel.org/r/20201030235121.GQ2620339@nvidia.com
[3] https://lkml.kernel.org/r/CAHk-=wikhGExmprXgaW+MVXG1zsGpztBbVwOb23vetk41EtTBQ@mail.gmail.com
8<--------------
Ahmed S. Darwish (3):
Documentation: seqlock: s/LOCKTYPE/LOCKNAME/g
seqlock: Prefix internal seqcount_t-only macros with a "do_"
seqlock: kernel-doc: Specify when preemption is automatically altered
Documentation/locking/seqlock.rst | 21 ++++----
include/linux/seqlock.h | 83 ++++++++++++++++---------------
2 files changed, 54 insertions(+), 50 deletions(-)
base-commit: 97d62caa32d6d79dadae3f8d19af5c92ea9a589a
--
2.29.2
Powered by blists - more mailing lists