Re: [PATCH] docs: Do not include from kernel/rcu/srcu.c

From: Paul E. McKenney
Date: Tue Jul 04 2017 - 17:44:16 EST


On Tue, Jul 04, 2017 at 01:26:47PM -0600, Jonathan Corbet wrote:
> That file went away with commit bd8cc5a062f4 (srcu: Remove Classic SRCU)
> during the 4.13 merge window, leading to errors like:
>
> Error: Cannot open file ./kernel/rcu/srcu.c
>
> during the docs build.
>
> Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>

Acked-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

> ---
> Probably we should really put the RCU documentation into the core-API
> manual, but that's a change for another day.

Would it make sense to have checkpatch.pl to point to these files as well as
to MAINTAINERS when files are added or removed? I freely confess that I
have only rarely updated the kernel-doc files.

Here are the list of RCU-related files containing kernel-doc headers:

$ grep -l "/\*\*" include/linux/*rcu* kernel/rcu/*
include/linux/rculist_bl.h
include/linux/rculist.h
include/linux/rculist_nulls.h
include/linux/rcupdate.h
include/linux/rcupdate_wait.h
include/linux/rcu_sync.h
include/linux/rcutree.h
include/linux/srcu.h
kernel/rcu/srcutree.c
kernel/rcu/sync.c
kernel/rcu/tree.c
kernel/rcu/tree_exp.h
kernel/rcu/tree_plugin.h
kernel/rcu/update.c

> Documentation/driver-api/basics.rst | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/Documentation/driver-api/basics.rst b/Documentation/driver-api/basics.rst
> index 472e7a664d13..ab82250c7727 100644
> --- a/Documentation/driver-api/basics.rst
> +++ b/Documentation/driver-api/basics.rst
> @@ -106,9 +106,6 @@ Kernel utility functions
> .. kernel-doc:: kernel/sys.c
> :export:
>
> -.. kernel-doc:: kernel/rcu/srcu.c
> - :export:
> -
> .. kernel-doc:: kernel/rcu/tree.c
> :export:

So something like this, ignoring the Documentation/driver-api/basics.rst
cleanup that would be needed (for the moment)?

Thanx, Paul

------------------------------------------------------------------------

commit 565fde68a1d3d77386ddc0e6881cf11b52ca2578
Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Date: Tue Jul 4 14:42:20 2017 -0700

doc: Add RCU files to docbook-generation files

Suggested-by: Jonathan Corbet <corbet@xxxxxxx>
Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

diff --git a/Documentation/core-api/kernel-api.rst b/Documentation/core-api/kernel-api.rst
index 9ec8488319dc..252452dc5ffd 100644
--- a/Documentation/core-api/kernel-api.rst
+++ b/Documentation/core-api/kernel-api.rst
@@ -344,3 +344,52 @@ codecs, and devices with strict requirements for interface clocking.

.. kernel-doc:: include/linux/clk.h
:internal:
+
+Synchronization Primitives
+==========================
+
+Read-Copy Update (RCU)
+----------------------
+
+.. kernel-doc:: include/linux/rcupdate.h
+ :external:
+
+.. kernel-doc:: include/linux/rcupdate_wait.h
+ :external:
+
+.. kernel-doc:: include/linux/rcutree.h
+ :external:
+
+.. kernel-doc:: kernel/rcu/tree.c
+ :external:
+
+.. kernel-doc:: kernel/rcu/tree_plugin.h
+ :external:
+
+.. kernel-doc:: kernel/rcu/tree_exp.h
+ :external:
+
+.. kernel-doc:: kernel/rcu/update.c
+ :external:
+
+.. kernel-doc:: include/linux/srcu.h
+ :external:
+
+.. kernel-doc:: kernel/rcu/srcutree.c
+ :external:
+
+.. kernel-doc:: include/linux/rculist_bl.h
+ :external:
+
+.. kernel-doc:: include/linux/rculist.h
+ :external:
+
+.. kernel-doc:: include/linux/rculist_nulls.h
+ :external:
+
+.. kernel-doc:: include/linux/rcu_sync.h
+ :external:
+
+.. kernel-doc:: kernel/rcu/sync.c
+ :external:
+