Re: Full dynticks needs evtdesc set before marking cpu online.

From: Robin Holt
Date: Mon May 13 2013 - 09:59:53 EST


On Mon, May 13, 2013 at 03:03:55PM +0200, Thomas Gleixner wrote:
> On Mon, 13 May 2013, Robin Holt wrote:
>
> > On Mon, May 13, 2013 at 11:21:00AM +0200, Thomas Gleixner wrote:
> > > On Wed, 8 May 2013, Robin Holt wrote:
> > >
> > > > Thomas,
> > > >
> > > > We are seeing failures booting medium sized machines which I think is
> > > > a change in expectations that dyntick put on x86's start_secondary.
> > > >
> > > > During boot of cpus, we see an occassional panic in tick_do_broadcast at
> > >
> > > http://lkml.indiana.edu/hypermail/linux/kernel/1305.0/01818.html
> > >
> > > Will hit Linus tree soon.
> >
> > I think this is really due to a sequence in start_secondary. The cpu
> > has been marked as online, but its evtdesc has not been initialized.
> > I sent a followup to this with a hack/patch.
>
> No, the real issue is that I messed up the cpumask conversion in the
> broadcast code, i.e. using alloc instead of zalloc, which allocated
> nonzeroed memory for the cpumasks, so any random bit set will crash
> the machine. Your patch is just papering over the issue.

I believe I understand now. What would be the downside of moving
the initialization to before marking the cpu online? It seems like a
reasonable this to expect as well in spite of it not being the right
fix to the other bug.

Thanks,
Robin
--
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/