From: "Paul E. McKenney" <paulmck@kernel.org>
To: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: "Uladzislau Rezki (Sony)" <urezki@gmail.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Linux Next Mailing List <linux-next@vger.kernel.org>
Subject: Re: linux-next: build warnings after merge of the rcu tree
Date: Thu, 26 Nov 2020 07:12:40 -0800 [thread overview]
Message-ID: <20201126151240.GP1437@paulmck-ThinkPad-P72> (raw)
In-Reply-To: <20201126174428.675f3cfd@canb.auug.org.au>
On Thu, Nov 26, 2020 at 05:44:28PM +1100, Stephen Rothwell wrote:
> Hi all,
>
> After merging the rcu tree, today's linux-next build (htmldocs) produced
> these warnings:
>
> include/linux/rcupdate.h:872: warning: Excess function parameter 'ptr' description in 'kfree_rcu'
> include/linux/rcupdate.h:872: warning: Excess function parameter 'rhf' description in 'kfree_rcu'
>
> Introduced by commit
>
> beba8bdf2f16 ("rcu: Introduce kfree_rcu() single-argument macro")
Heh! The documentation isn't dealing at all well with this situation.
Would one of the docbook experts have some advice, keeping in mind
that kfree_rcu might have either one or two arguments?
Thanx, Paul
------------------------------------------------------------------------
/**
* kfree_rcu() - kfree an object after a grace period.
* @ptr: pointer to kfree for both single- and double-argument invocations.
* @rhf: the name of the struct rcu_head within the type of @ptr,
* but only for double-argument invocations.
*
* Many rcu callbacks functions just call kfree() on the base structure.
* These functions are trivial, but their size adds up, and furthermore
* when they are used in a kernel module, that module must invoke the
* high-latency rcu_barrier() function at module-unload time.
*
* The kfree_rcu() function handles this issue. Rather than encoding a
* function address in the embedded rcu_head structure, kfree_rcu() instead
* encodes the offset of the rcu_head structure within the base structure.
* Because the functions are not allowed in the low-order 4096 bytes of
* kernel virtual memory, offsets up to 4095 bytes can be accommodated.
* If the offset is larger than 4095 bytes, a compile-time error will
* be generated in kvfree_rcu_arg_2(). If this error is triggered, you can
* either fall back to use of call_rcu() or rearrange the structure to
* position the rcu_head structure into the first 4096 bytes.
*
* Note that the allowable offset might decrease in the future, for example,
* to allow something like kmem_cache_free_rcu().
*
* The BUILD_BUG_ON check must not involve any function calls, hence the
* checks are done in macros here.
*/
#define kfree_rcu kvfree_rcu
next prev parent reply other threads:[~2020-11-26 15:12 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-26 6:44 linux-next: build warnings after merge of the rcu tree Stephen Rothwell
2020-11-26 15:12 ` Paul E. McKenney [this message]
2020-11-26 17:28 ` Uladzislau Rezki
-- strict thread matches above, loose matches on Subject: below --
2024-08-09 4:26 Stephen Rothwell
2024-08-09 6:18 ` Z qiang
2022-11-23 5:32 Stephen Rothwell
2022-11-23 8:19 ` Leizhen (ThunderTown)
2022-11-23 14:27 ` Paul E. McKenney
2020-11-10 6:59 Stephen Rothwell
2020-11-10 15:21 ` Paul E. McKenney
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=20201126151240.GP1437@paulmck-ThinkPad-P72 \
--to=paulmck@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=sfr@canb.auug.org.au \
--cc=urezki@gmail.com \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox