[PATCH] ARM: Add safe diagnostic to indicate when __cpu_architecture isn't set up

Tixy tixy at yxit.co.uk
Tue Aug 16 10:45:21 EDT 2011


On Tue, 2011-08-16 at 15:19 +0100, Dave Martin wrote:
[...]
> This patch is useful for debugging, but I'm not convinced it should
> be merged.
[...] 
>  static inline int __pure cpu_architecture(void)
>  {
> -	BUG_ON(__cpu_architecture == CPU_ARCH_UNKNOWN);
> -	return __cpu_architecture;
> +	if (unlikely(__cpu_architecture == CPU_ARCH_UNKNOWN)) {
> +		extern int __pure __get_cpu_architecture(void);
> +
> +		WARN_ONCE(1, "__cpu_architecture not set yet!\n");
> +		return __get_cpu_architecture();
> +	} else
> +		return __cpu_architecture;
>  }

Seems to me that if we go down this route, cpu_architecture() may as
well remain a non-inline function which just calculates the arch if it's
not already set...

	if (unlikely(__cpu_architecture == CPU_ARCH_UNKNOWN))
		__cpu_architecture = __get_cpu_architecture();
	return __cpu_architecture;

There seems to be too many ways to skin this cat :-)

-- 
Tixy




More information about the linux-arm-kernel mailing list