Re: rcu kernel-doc issues (4.14-rc1)
From: Randy Dunlap
Date: Mon Oct 16 2017 - 17:46:26 EST
On 10/16/17 13:26, Paul E. McKenney wrote:
> On Mon, Oct 16, 2017 at 01:18:14PM -0700, Randy Dunlap wrote:
>> On 10/16/17 13:07, Paul E. McKenney wrote:
>>> On Mon, Oct 16, 2017 at 12:58:28PM -0700, Randy Dunlap wrote:
>>>> Hi Jonathan and Paul,
>>>>
>>>> Please include these fixes before 4.14 final.
>>>
>>> Hello, Randy,
>>>
>>> I currently have them queued up for the 4.15 merge window. Will that
>>> work for you?
>>
>> They should be fixed in 4.14 final IMO.
>
> OK, how about if I submit them to the 4.15 merge window, but add the
> appropriate -stable tags to get them backported? Yes, these are bugs,
> but I cannot in good conscience claim that they are v4.14 regressions.
>
> But if Jon agrees with you, I will of course create a patch series,
> pull request, or whatever and send it along to him.
You or Jon could just revert this commit then:
commit 764f80798b958f74dbf0c6e76a8294d183dd9c16
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>
But the current condition is bad.
> Thanx, Paul
>
>>>> Thanks.
>>>>
>>>> On 09/17/17 12:49, Paul E. McKenney wrote:
>>>>> On Sun, Sep 17, 2017 at 10:57:42AM -0700, Randy Dunlap wrote:
>>>>>> On 09/17/17 10:47, Paul E. McKenney wrote:
>>>>>>> On Sat, Sep 16, 2017 at 09:41:45PM -0700, Paul E. McKenney wrote:
>>>>>>>> On Sat, Sep 16, 2017 at 06:26:04PM -0700, Randy Dunlap wrote:
>>>>>>>>> On 4.14-rc1, I am seeing lots of warnings on rcu kernel-doc:
>>>>>>>>>
>>>>>>>>> .. kernel-doc:: include/linux/rcupdate.h
>>>>>>>>> :external:
>>>>>>>>> ./Documentation/core-api/kernel-api.rst:357: ERROR: Error in "kernel-doc" directive:
>>>>>>>>> unknown option: "external".
>>>>>>>>
>>>>>>>> $ grep external include/linux/rcupdate.h
>>>>>>>> * by a single external-to-structure RCU-protected pointer, then you may
>>>>>>>> * external-to-structure pointer -after- you have completely initialized
>>>>>>>>
>>>>>>>> Do these comments somehow qualify as an "external" option? If so, how
>>>>>>>> do I tell kernel-doc to ignore them? Or must I reword them to avoid
>>>>>>>> the word "external"?
>>>>>>>>
>>>>>>>>> .. kernel-doc:: include/linux/rcupdate_wait.h
>>>>>>>>> :external:
>>>>>>>>> ./Documentation/core-api/kernel-api.rst:360: ERROR: Error in "kernel-doc" directive:
>>>>>>>>> unknown option: "external".
>>>>>>>>
>>>>>>>> $ grep external include/linux/rcupdate_wait.h
>>>>>>>>
>>>>>>>> There is no occurrence of the string "external" in this file. So this
>>>>>>>> "external" option is unknown to me as well. So, any hints on how I
>>>>>>>> should interpret these error messages?
>>>>>>>
>>>>>>> And thanks to Akira Yokosawa for pointing out my confusion in reading
>>>>>>> these error messages. The line numbers of course apply to the file
>>>>>>> Documentation/core-api/kernel-api.rst rather than the various RCU
>>>>>>> C-language source files.
>>>>>>>
>>>>>>> The patch below removes the error messages for me. Is this what you
>>>>>>> had in mind? (Might need other options at some point, but somewhere
>>>>>>> to start.)
>>>>>>>
>>>>>>
>>>>>> Yes, much better. Thanks.
>>>>>>
>>>>>> Just some missing kernel-doc on parameters mostly remaining:
>>>>>
>>>>> I have now fixed a number of these, thank you.
>>>>>
>>>>> Any hints for how to represent code samples within a "/**" comment?
>>>>>
>>>>> /home/git/linux-2.6-tip/include/linux/rcupdate.h:559: ERROR: Unexpected indentation.
>>>>> /home/git/linux-2.6-tip/include/linux/rcupdate.h:563: WARNING: Block quote ends without a blank line; unexpected unindent.
>>>>> /home/git/linux-2.6-tip/include/linux/rcupdate.h:777: ERROR: Unexpected indentation.
>>>>> /home/git/linux-2.6-tip/include/linux/rcupdate.h:778: WARNING: Block quote ends without a blank line; unexpected unindent.
>>>>>
>>>>> Thanx, Paul
>>>>>
>>>>>> ../include/linux/rcupdate.h:818: warning: No description found for parameter 'p'
>>>>>> ../include/linux/rcupdate.h:818: warning: No description found for parameter 'v'
>>>>>> ../include/linux/rcupdate.h:826: warning: No description found for parameter 'p'
>>>>>> ../include/linux/rcupdate.h:826: warning: No description found for parameter 'v'
>>>>>> ../include/linux/srcu.h:95: warning: No description found for parameter 'sp'
>>>>>> ../kernel/rcu/srcutree.c:873: warning: No description found for parameter 'rhp'
>>>>>> ../kernel/rcu/srcutree.c:873: warning: Excess function parameter 'head' description in 'call_srcu'
>>>>>> ../include/linux/rculist.h:302: warning: Incorrect use of kernel-doc format: * list_first_or_null_rcu - get the first element from a list
>>>>>> ../include/linux/rculist.h:317: warning: No description found for parameter 'ptr'
>>>>>> ../include/linux/rculist.h:317: warning: No description found for parameter 'type'
>>>>>> ../include/linux/rculist.h:317: warning: No description found for parameter 'member'
>>>>>> ../kernel/rcu/sync.c:94: warning: No description found for parameter 'rsp'
>>>>>> ../kernel/rcu/sync.c:162: warning: No description found for parameter 'rcu'
>>>>>> ../kernel/rcu/sync.c:162: warning: Excess function parameter 'rsp' description in 'rcu_sync_func'
>>>>>>
>>>>>>>
>>>>>>> ------------------------------------------------------------------------
>>>>>>>
>>>>>>> diff --git a/Documentation/core-api/kernel-api.rst b/Documentation/core-api/kernel-api.rst
>>>>>>> index 8282099e0cbf..30b2666bf494 100644
>>>>>>> --- a/Documentation/core-api/kernel-api.rst
>>>>>>> +++ b/Documentation/core-api/kernel-api.rst
>>>>>>> @@ -352,44 +352,44 @@ Read-Copy Update (RCU)
>>>>>>> ----------------------
>>>>>>>
>>>>>>> .. kernel-doc:: include/linux/rcupdate.h
>>>>>>> - :external:
>>>>>>> + :export
>>>>>>>
>>>>>>> .. kernel-doc:: include/linux/rcupdate_wait.h
>>>>>>> - :external:
>>>>>>> + :export
>>>>>>>
>>>>>>> .. kernel-doc:: include/linux/rcutree.h
>>>>>>> - :external:
>>>>>>> + :export
>>>>>>>
>>>>>>> .. kernel-doc:: kernel/rcu/tree.c
>>>>>>> - :external:
>>>>>>> + :export
>>>>>>>
>>>>>>> .. kernel-doc:: kernel/rcu/tree_plugin.h
>>>>>>> - :external:
>>>>>>> + :export
>>>>>>>
>>>>>>> .. kernel-doc:: kernel/rcu/tree_exp.h
>>>>>>> - :external:
>>>>>>> + :export
>>>>>>>
>>>>>>> .. kernel-doc:: kernel/rcu/update.c
>>>>>>> - :external:
>>>>>>> + :export
>>>>>>>
>>>>>>> .. kernel-doc:: include/linux/srcu.h
>>>>>>> - :external:
>>>>>>> + :export
>>>>>>>
>>>>>>> .. kernel-doc:: kernel/rcu/srcutree.c
>>>>>>> - :external:
>>>>>>> + :export
>>>>>>>
>>>>>>> .. kernel-doc:: include/linux/rculist_bl.h
>>>>>>> - :external:
>>>>>>> + :export
>>>>>>>
>>>>>>> .. kernel-doc:: include/linux/rculist.h
>>>>>>> - :external:
>>>>>>> + :export
>>>>>>>
>>>>>>> .. kernel-doc:: include/linux/rculist_nulls.h
>>>>>>> - :external:
>>>>>>> + :export
>>>>>>>
>>>>>>> .. kernel-doc:: include/linux/rcu_sync.h
>>>>>>> - :external:
>>>>>>> + :export
>>>>>>>
>>>>>>> .. kernel-doc:: kernel/rcu/sync.c
>>>>>>> - :external:
>>>>>>> + :export
--
~Randy