Re: [PATCH 2.6.13] x86_64: Make trap_init() happen earlier - dropped

From: Bob Picco
Date: Fri Sep 09 2005 - 10:27:41 EST


Andi Kleen wrote: [Fri Sep 09 2005, 10:17:40AM EDT]
> On Thursday 08 September 2005 18:37, Tom Rini wrote:
> > It can be handy in some situations to have run trap_init() sooner than the
> > generic code does. In order to do this on x86_64 we need to add a custom
> > early_setup_per_cpu_areas() call as well.
>
> The patch is totally broken and causes crash even under light load
> (just found it after a lengthy binary search)
>
> >
> > +void __init early_setup_per_cpu_areas(void)
> > +{
> > + static char cpu0[PERCPU_ENOUGH_ROOM] __cacheline_aligned
> > + __attribute__ ((aligned (SMP_CACHE_BYTES)));
>
> The original code does
>
> /* Copy section for each CPU (we discard the original) */
> size = ALIGN(__per_cpu_end - __per_cpu_start, SMP_CACHE_BYTES);
> #ifdef CONFIG_MODULES
> if (size < PERCPU_ENOUGH_ROOM)
> size = PERCPU_ENOUGH_ROOM;
> #endif
>
>
> perhaps end-start is larger than PERCPU_ENOUGH_ROOM ? (using defconfig)
>
> Dropped from my tree for now.
>
> -Andi
Andi:

Sorry about that. I originally intended this for KGDB only. The hardcoded
PERCPU_ENOUGH_ROOM value is dangerous and could be the issue. Let me take
a look at this.

bob
-
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/