From: "Ahmed S. Darwish" <a.darwish@linutronix.de> To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Will Deacon <will@kernel.org> Cc: Linus Torvalds <torvalds@linux-foundation.org>, Thomas Gleixner <tglx@linutronix.de>, "Paul E. McKenney" <paulmck@kernel.org>, Steven Rostedt <rostedt@goodmis.org>, Jonathan Corbet <corbet@lwn.net>, Jason Gunthorpe <jgg@nvidia.com>, John Hubbard <jhubbard@nvidia.com>, LKML <linux-kernel@vger.kernel.org>, "Sebastian A. Siewior" <bigeasy@linutronix.de>, "Ahmed S. Darwish" <a.darwish@linutronix.de> Subject: [PATCH -tip v1 0/3] seqlock: assorted cleanups Date: Sun, 6 Dec 2020 17:21:40 +0100 Message-ID: <20201206162143.14387-1-a.darwish@linutronix.de> (raw) 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
next reply index Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-12-06 16:21 Ahmed S. Darwish [this message] 2020-12-06 16:21 ` [PATCH -tip v1 1/3] Documentation: seqlock: s/LOCKTYPE/LOCKNAME/g Ahmed S. Darwish 2020-12-09 18:38 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-12-06 16:21 ` [PATCH -tip v1 2/3] seqlock: Prefix internal seqcount_t-only macros with a "do_" Ahmed S. Darwish 2020-12-07 20:39 ` Jason Gunthorpe 2020-12-06 16:21 ` [PATCH -tip v1 3/3] seqlock: kernel-doc: Specify when preemption is automatically altered Ahmed S. Darwish 2020-12-07 20:43 ` Jason Gunthorpe 2020-12-08 14:31 ` Ahmed S. Darwish 2020-12-08 15:46 ` Jason Gunthorpe 2020-12-07 14:07 ` [PATCH -tip v1 0/3] seqlock: assorted cleanups Peter Zijlstra
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20201206162143.14387-1-a.darwish@linutronix.de \ --to=a.darwish@linutronix.de \ --cc=bigeasy@linutronix.de \ --cc=corbet@lwn.net \ --cc=jgg@nvidia.com \ --cc=jhubbard@nvidia.com \ --cc=linux-kernel@vger.kernel.org \ --cc=mingo@redhat.com \ --cc=paulmck@kernel.org \ --cc=peterz@infradead.org \ --cc=rostedt@goodmis.org \ --cc=tglx@linutronix.de \ --cc=torvalds@linux-foundation.org \ --cc=will@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
LKML Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lkml.kernel.org/lkml/0 lkml/git/0.git git clone --mirror https://lkml.kernel.org/lkml/1 lkml/git/1.git git clone --mirror https://lkml.kernel.org/lkml/2 lkml/git/2.git git clone --mirror https://lkml.kernel.org/lkml/3 lkml/git/3.git git clone --mirror https://lkml.kernel.org/lkml/4 lkml/git/4.git git clone --mirror https://lkml.kernel.org/lkml/5 lkml/git/5.git git clone --mirror https://lkml.kernel.org/lkml/6 lkml/git/6.git git clone --mirror https://lkml.kernel.org/lkml/7 lkml/git/7.git git clone --mirror https://lkml.kernel.org/lkml/8 lkml/git/8.git git clone --mirror https://lkml.kernel.org/lkml/9 lkml/git/9.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 lkml lkml/ https://lkml.kernel.org/lkml \ linux-kernel@vger.kernel.org public-inbox-index lkml Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git