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, Jan 23, 2018 at 04:04:17PM +0000, Bart Van Assche wrote:
> 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>.

And this is the intent.  What breaks when you do that?

							Thanx, Paul

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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