Re: [PATCH V4 1/1] rcu: introduce kfree_rcu()

Paul E. McKenney
2011-03-16T04:13:17Z

On Tue, Mar 15, 2011 at 02:11:33PM +0100, Eric Dumazet wrote:
> Le mardi 15 mars 2011 à 17:46 +0800, Lai Jiangshan a écrit :
>
>
> > --- a/kernel/rcutiny.c
> > +++ b/kernel/rcutiny.c
> > @@ -167,7 +167,7 @@ static void rcu_process_callbacks(struct rcu_ctrlblk *rcp)
> > prefetch(next);
> > debug_rcu_head_unqueue(list);
> > local_bh_disable();
> > - list->func(list);
> > + __rcu_reclaim(list);
> > local_bh_enable();
> > list = next;
> > RCU_TRACE(cb_count++);
>
> Paul, I am just wondering why we disable BH before calling list->func()
>
> This should be done in callbacks that really need it ?
>
> At least the disable/enable pair is not necessary before calling kfree()

Good point, we could bury the enable/disable pair in __rcu_reclaim().

Lai, am I forgetting any reason why we disable BH?

Thanx, Paul