Re: x86/mce merge, integration hickup + crash, design thoughts

From: Ingo Molnar
Date: Tue Dec 30 2008 - 01:50:32 EST



* Andi Kleen <ak@xxxxxxxxxxxxxxx> wrote:

> Ingo Molnar wrote:
>
>> today i (belatedly ...) started looking into the status of the
>> tip/x86/mce branch, and merged it into tip/master as a first step.
>>
>> firstly there's a small complication, it triggers this crash with the
>> attached config:
>>
>
> I tested the config on a couple of different systems. Unfortunately I
> wasn't able to reproduce the problem. It booted always fine even on
> multiple tries.
>
> I had to adapt the configuration slightly to boot in my setup.
>
> The configuration also was not complete, i had to press return a few
> times (are you sure you sent me the correct file?)
>
> One merging issue I noted is that you put the perfctrs and mce self on
> the same vector. The attached patch fixes that.

hm, will re-test and see whether i can get more debug info out of the
system.

> commit c736d118dcad93929dfc21cb72f33bc94c1b314a
> Author: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> Date: Sun Dec 28 14:16:43 2008 +0100
>
> Avoid conflict of apic error and local perfmon vector
>
> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> diff --git a/arch/x86/include/asm/irq_vectors.h b/arch/x86/include/asm/irq_vectors.h
> index 73957a2..0fcb682 100644
> --- a/arch/x86/include/asm/irq_vectors.h
> +++ b/arch/x86/include/asm/irq_vectors.h
> @@ -88,7 +88,7 @@
> /*
> * Performance monitoring interrupt vector:
> */
> -#define LOCAL_PERF_VECTOR 0xee
> +#define LOCAL_PERF_VECTOR 0xed

this reminds me, i dont particularly like the way you added a
self-interrupt:

+ __send_IPI_shortcut(APIC_DEST_SELF, MCE_SELF_VECTOR, 0);

IPI self-sends are generally more fragile than task-flag based methods,
and they also waste IRQ vector real-estate.

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