Re: [PATCH rdma-next] RDMA/srpt: Fix RCU debug build error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2018-01-23 at 08:21 -0700, Jason Gunthorpe wrote:
> /*
>  * init_rcu_head_on_stack()/destroy_rcu_head_on_stack() are needed for dynamic
>  * initialization and destruction of rcu_head on the stack. rcu_head structures
>  * allocated dynamically in the heap or defined statically don't need any
>  * initialization.
>  */
> 
> The commit that introduced init_rcu_head is
> 546a9d8519ed137b2804a3f5a3659003039dd49c which suggests it exists only
> to help the slab allocators, although curiously the allocators never
> call it these days..
> 
> Maybe Paul can confirm?

It would be great if Paul could provide feedback. The comment in
include/linux/rcupdate.h seems to contradict the following paragraph from
Documentation/RCU/Design/Requirements/Requirements.html for statically
allocated objects:

	The corresponding <tt>rcu_head</tt> structures that are
	dynamically allocated are automatically tracked, but
	<tt>rcu_head</tt> structures allocated on the stack
	must be initialized with <tt>init_rcu_head_on_stack()</tt>
	and cleaned up with <tt>destroy_rcu_head_on_stack()</tt>.
	Similarly, statically allocated non-stack <tt>rcu_head</tt>
	structures must be initialized with <tt>init_rcu_head()</tt>
	and cleaned up with <tt>destroy_rcu_head()</tt>.

Bart.��.n��������+%������w��{.n�����{���fk��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux