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

Leon Romanovsky
2018-01-23T18:57:32Z

[-- Attachment #1: Type: text/plain, Size: 1636 bytes --]

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 rcu_head structures that are
> dynamically allocated are automatically tracked, but
> rcu_head structures allocated on the stack
> must be initialized with init_rcu_head_on_stack()
> and cleaned up with destroy_rcu_head_on_stack() .
> Similarly, statically allocated non-stack rcu_head
> structures must be initialized with init_rcu_head()
> and cleaned up with destroy_rcu_head() .

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?\x1dʇڙ?,j\a??f???h???z?\x1e?w???\f???j:+v???w?j?m????\a????zZ+?????ݢj"??!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]