Re: [PATCH] printk: robustify printk

From: Paul E. McKenney
Date: Fri Aug 08 2008 - 20:18:33 EST


On Fri, Aug 08, 2008 at 04:02:54PM -0700, David Miller wrote:
> From: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> Date: Fri, 08 Aug 2008 20:14:28 +0200
>
> > +struct klogd_wakeup_state {
> > + struct rcu_head head;
> > + int pending;
> > +};
> > +
> > +DEFINE_PER_CPU(struct klogd_wakeup_state, kws);
>
> Since there is not RCU_HEAD_INIT() made on these per-cpu objects, this code
> is depending upon the fact that currently the RCU head is just initialized
> to all zeros.

RCU_HEAD_INIT() is only needed for debugging purposes, when you want
to be sure that any garbage in the rcu_head is due to corruption or
some such. The call_rcu() function always completely initializes the
rcu_head structure.

Thanx, Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/