2024-02-09 03:25:11

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build warning after merge of the workqueues tree

Hi all,

After merging the workqueues tree, today's linux-next build (htmldocs)
produced this warning:

Documentation/core-api/workqueue:778: kernel/workqueue.c:1801: WARNING: Line block ends without a blank line.
Documentation/core-api/workqueue:778: kernel/workqueue.c:1804: WARNING: Line block ends without a blank line.

Introduced by commit

4c065dbce1e8 ("workqueue: Enable unbound cpumask update on ordered workqueues")

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2024-02-09 03:46:01

by Waiman Long

[permalink] [raw]
Subject: Re: linux-next: build warning after merge of the workqueues tree

On 2/8/24 22:24, Stephen Rothwell wrote:
> Hi all,
>
> After merging the workqueues tree, today's linux-next build (htmldocs)
> produced this warning:
>
> Documentation/core-api/workqueue:778: kernel/workqueue.c:1801: WARNING: Line block ends without a blank line.
> Documentation/core-api/workqueue:778: kernel/workqueue.c:1804: WARNING: Line block ends without a blank line.
>
> Introduced by commit
>
> 4c065dbce1e8 ("workqueue: Enable unbound cpumask update on ordered workqueues")

That warning is likely by the following function comment:

/**
 * unplug_oldest_pwq - restart an oldest plugged pool_workqueue
 * @wq: workqueue_struct to be restarted
 *
 * pwq's are linked into wq->pwqs with the oldest first. For ordered
 * workqueues, only the oldest pwq is unplugged, the others are plugged to
 * suspend execution until the oldest one is drained. When this
happens, the
 * next oldest one (first plugged pwq in iteration) will be unplugged to
 * restart work item execution to ensure proper work item ordering.
 *
 *    dfl_pwq --------------+     [P] - plugged
 *                          |
 *                          v
 *    pwqs -> A -> B [P] -> C [P] (newest)
 *            |    |        |
 *            1    3        5
 *            |    |        |
 *            2    4        6
 */

One possible solution is to take out one '*' of the leading "/**" so
that it is not regarded as an inline documentation block. Any other
suggestion is welcome.

Cheers,
Longman