[PATCH] ARM: mcpm: Make all mcpm functions notrace

Dave Martin Dave.Martin at arm.com
Mon Dec 2 12:25:31 EST 2013


Vyacheslav, Tarek, can you add the corresponding change in your Exynos
Dual Cluster support code please?

There's no need for it to be a separate patch, you can simply add
the CFLAGS_REMOVE_ definitions alongside the other Makefile additions
for edcs.  If you want to be more fine-grained, you could mark
individual functions notrace instead -- but that may just add effort
and not be very useful.

Cheers
---Dave

On Mon, Dec 02, 2013 at 09:29:07AM +0000, Jon Medhurst (Tixy) wrote:
> From: Dave Martin <dave.martin at linaro.org>
> 
> The functions in mcpm_entry.c are mostly intended for use during
> scary cache and coherency disabling sequences, or do other things
> which confuse trace ... like powering a CPU down and not
> returning. Similarly for the backend code.
> 
> For simplicity, this patch just makes whole files notrace.
> There should be more than enough traceable points on the paths to
> these functions, but we can be more fine-grained later if there is
> a need for it.
> 
> Signed-off-by: Dave Martin <dave.martin at linaro.org>
> 
> Also added spc.o to the list of files as it contains functions used by
> MCPM code which have comments comments like: "might be used in code
> paths where normal cacheable locks are not working"
> 
> Signed-off-by: Jon Medhurst <tixy at linaro.org>
> ---
>  arch/arm/common/Makefile        |    1 +
>  arch/arm/mach-vexpress/Makefile |    3 +++
>  2 files changed, 4 insertions(+)
> 
> diff --git a/arch/arm/common/Makefile b/arch/arm/common/Makefile
> index 4bdc416..70b1eff 100644
> --- a/arch/arm/common/Makefile
> +++ b/arch/arm/common/Makefile
> @@ -13,6 +13,7 @@ obj-$(CONFIG_SHARP_SCOOP)	+= scoop.o
>  obj-$(CONFIG_PCI_HOST_ITE8152)  += it8152.o
>  obj-$(CONFIG_ARM_TIMER_SP804)	+= timer-sp.o
>  obj-$(CONFIG_MCPM)		+= mcpm_head.o mcpm_entry.o mcpm_platsmp.o vlock.o
> +CFLAGS_REMOVE_mcpm_entry.o	= -pg
>  AFLAGS_mcpm_head.o		:= -march=armv7-a
>  AFLAGS_vlock.o			:= -march=armv7-a
>  obj-$(CONFIG_TI_PRIV_EDMA)	+= edma.o
> diff --git a/arch/arm/mach-vexpress/Makefile b/arch/arm/mach-vexpress/Makefile
> index 0997e0b..fc649bc 100644
> --- a/arch/arm/mach-vexpress/Makefile
> +++ b/arch/arm/mach-vexpress/Makefile
> @@ -8,8 +8,11 @@ obj-y					:= v2m.o
>  obj-$(CONFIG_ARCH_VEXPRESS_CA9X4)	+= ct-ca9x4.o
>  obj-$(CONFIG_ARCH_VEXPRESS_DCSCB)	+= dcscb.o	dcscb_setup.o
>  CFLAGS_dcscb.o				+= -march=armv7-a
> +CFLAGS_REMOVE_dcscb.o			= -pg
>  obj-$(CONFIG_ARCH_VEXPRESS_SPC)		+= spc.o
> +CFLAGS_REMOVE_spc.o			= -pg
>  obj-$(CONFIG_ARCH_VEXPRESS_TC2_PM)	+= tc2_pm.o
>  CFLAGS_tc2_pm.o				+= -march=armv7-a
> +CFLAGS_REMOVE_tc2_pm.o			= -pg
>  obj-$(CONFIG_SMP)			+= platsmp.o
>  obj-$(CONFIG_HOTPLUG_CPU)		+= hotplug.o
> -- 
> 1.7.10.4
> 
> 



More information about the linux-arm-kernel mailing list