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

From: Andi Kleen
Date: Fri Sep 09 2005 - 09:18:09 EST


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

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