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>. Right, I missed it. So how are we going to solve that rdma/for-next doesn't compile? Thanks > > Bart.N?????r??y????b?X??ǧv?^?){.n?+????{??ٚ?{ay?ʇڙ?,j??f???h???z??w??????j:+v???w?j?m????????zZ+?????ݢj"??!
Attachment:
signature.asc
Description: PGP signature