Re: Fwd: Re: [2.6.24 patch] restore ARMv6 OProfile support

From: Russell King
Date: Tue Jan 15 2008 - 12:51:21 EST


On Tue, Jan 15, 2008 at 08:24:34AM -0800, Linus Torvalds wrote:
>
>
> On Tue, 15 Jan 2008, Russell King wrote:
> >
> > I don't particularly like stuffing the options into some random place
> > in the architectures Kconfig file when they should stay along side the
> > instrumentation configuration entries.
>
> Well, I have to say that I don't particularly like obviously
> architecture-specific stuff in an obviously non-architecture file..
>
> I'd almost prefer to revert the thing that caused the problem, because
> with Adrian's patch, I think the end result may *work*, but it's uglier
> than what we started out with.
>
> However, I think the *cleanest* solution right now may be something like
> the appended. Totally untested, of course. It basically just copies the
> generic kernel/Kconfig.instrumentation file into the arm directory, makes
> arm use its own instead of the generic one, and removes the dependencies
> on ARM in there (including all of the KPROBES entry that apparently isn't
> an issue on ARM anyway). It then adds back the ARM-specific ones.
>
> This follows the sacred rules of good code:
>
> - generic code is either generic or not. If it's not generic, don't claim
> it is.
>
> - don't *force* people to use generic code if it doesn't suit them. Make
> it available for the cases it makes sense for, but don't shoe-horn it
> into cases where it doesn't work well.
>
> So it allows the sharing of the common case and *many* architectures end
> up using the generic Kconfig file, but hey, if it doesn't make sense for
> ARM, it doesn't make sense for ARM. It's that simple.
>
> But as mentioned, it's totally untested and I don't have (or really want
> to have) a cross-compiling environment. And I don't care *that* much. I
> just want something we can all live with.
>
> So does something like this work for people?

BTW, your patch may fix ARM, but the original commit broke blackfin as
well - it removed the Kconfig entry for HARDWARE_PM, which is still used:

$ grep HARDWARE_PM arch/blackfin/ -r
arch/blackfin/mach-common/interrupt.S:#ifdef CONFIG_HARDWARE_PM
arch/blackfin/mach-common/interrupt.S:#ifdef CONFIG_HARDWARE_PM
arch/blackfin/mach-common/irqpanic.c:#ifdef CONFIG_HARDWARE_PM
arch/blackfin/oprofile/Makefile:oprofile-$(CONFIG_HARDWARE_PM) += op_model_bf533.o
arch/blackfin/oprofile/common.c:#ifdef CONFIG_HARDWARE_PM

So blackfin also needs fixing. I don't know if blackfin people are
aware of this.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of:
--
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/