2005-11-08 02:21:14

by Coywolf Qi Hunt

[permalink] [raw]
Subject: Re: + cpu-hotplug-fix-locking-in-cpufreq-drivers-fix.patch added to -mm tree

2005/11/7, [email protected] <[email protected]>:
>
> The patch titled
>
> cpu-hotplug-fix-locking-in-cpufreq-drivers fix
>
> has been added to the -mm tree. Its filename is
>
> cpu-hotplug-fix-locking-in-cpufreq-drivers-fix.patch
>
>
> From: Brice Goglin <[email protected]>
>
> drivers/cpufreq/cpufreq.c uses current_in_cpu_hotplug.
> But, kernel/cpu.c is not built on UP boxes.
> This generates the following error:
>
> LD .tmp_vmlinux1
> drivers/built-in.o: In function `__cpufreq_driver_target':
> : undefined reference to `current_in_cpu_hotplug'
>
> Signed-off-by: Brice Goglin <[email protected]>
> Cc: Ashok Raj <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>
> ---
>
> include/linux/cpu.h | 6 +++++-
> 1 files changed, 5 insertions(+), 1 deletion(-)
>
> diff -puN include/linux/cpu.h~cpu-hotplug-fix-locking-in-cpufreq-drivers-fix include/linux/cpu.h
> --- devel/include/linux/cpu.h~cpu-hotplug-fix-locking-in-cpufreq-drivers-fix 2005-11-06 21:53:34.000000000 -0800
> +++ devel-akpm/include/linux/cpu.h 2005-11-06 21:53:34.000000000 -0800
> @@ -33,7 +33,6 @@ struct cpu {
>
> extern int register_cpu(struct cpu *, int, struct node *);
> extern struct sys_device *get_cpu_sysdev(int cpu);
> -extern int current_in_cpu_hotplug(void);
> #ifdef CONFIG_HOTPLUG_CPU
> extern void unregister_cpu(struct cpu *, struct node *);
> #endif
> @@ -43,6 +42,7 @@ struct notifier_block;
> /* Need to know about CPUs going up/down? */
> extern int register_cpu_notifier(struct notifier_block *nb);
> extern void unregister_cpu_notifier(struct notifier_block *nb);
> +extern int current_in_cpu_hotplug(void);

Probably it would be better to always put things like this in header
as static inline. I was doing that, but yours patch came first.

int current_in_cpu_hotplug(void)
{
return (current->flags & PF_HOTPLUG_CPU);
}

>
> int cpu_up(unsigned int cpu);
>
> @@ -55,6 +55,10 @@ static inline int register_cpu_notifier(
> static inline void unregister_cpu_notifier(struct notifier_block *nb)
> {
> }
> +static inline int current_in_cpu_hotplug(void)
> +{
> + return 0;
> +}
>
> #endif /* CONFIG_SMP */
> extern struct sysdev_class cpu_sysdev_class;
> _
>
> Patches currently in -mm which might be from [email protected] are
>
> cpu-hotplug-fix-locking-in-cpufreq-drivers-fix.patch
> ppp_mppe-add-ppp-mppe-encryption-module.patch
> dlm-debug-fs.patch
> nmi-lockup-and-altsysrq-p-dumping-calltraces-on-_all_-cpus.patch
>
--
Coywolf Qi Hunt
http://sosdg.org/~coywolf/