Re: [PATCH 7/11] perfmon2 patch for review: modified i386 files

From: Chuck Ebbert
Date: Fri May 12 2006 - 21:34:38 EST


In-Reply-To: <200605121633.k4CGXmKd027348@xxxxxxxxxxxxxxxxx>

On Fri, 12 May 2006 09:33:48 -0700, Stephane Eranian wrote:

<snip>

> --- linux-2.6.17-rc4.orig/arch/i386/kernel/entry.S 2006-05-12 03:16:09.000000000 -0700
> +++ linux-2.6.17-rc4/arch/i386/kernel/entry.S 2006-05-12 03:18:52.000000000 -0700
> @@ -436,6 +436,16 @@
> /* The include is where all of the SMP etc. interrupts come from */
> #include "entry_arch.h"
>
> +#if defined(CONFIG_X86_LOCAL_APIC) && defined(CONFIG_PERFMON)
> +ENTRY(pmu_interrupt)
> + pushl $LOCAL_PERFMON_VECTOR-256
> + SAVE_ALL
> + pushl %esp
> + call pfm_intr_handler
> + addl $4, %esp
> + jmp ret_from_intr
> +#endif
> +
> ENTRY(divide_error)
> pushl $0 # no error code
> pushl $do_divide_error

You should rename pfm_intr_handler to smp_pmu_interrupt (yes, it's not
really SMP but other functions have that problem too, e.g.
smp_error_interrupt) and make it fastcall, then you can do:

BUILD_INTERRUPT(pmu_interrupt, LOCAL_PERFMON_VECTOR)

instead of open-coding it. Then the Xen patch that extends the interrupt
vector range won't have to change to accommodate your patch.

You should also probably move the BUILD_INTERRUPT() into entry_arch.h
with the rest of them.

--
Chuck

"The x86 isn't all that complex -- it just doesn't make a lot of sense."
-- Mike Johnson
-
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/