* [PATCH] x86: Mark the thermal init functions __init @ 2009-11-11 7:51 Yong Wang 2009-11-11 11:42 ` [tip:perf/mce] " tip-bot for Yong Wang 2009-11-12 5:28 ` [PATCH] " Hidetoshi Seto 0 siblings, 2 replies; 6+ messages in thread From: Yong Wang @ 2009-11-11 7:51 UTC (permalink / raw) To: Ingo Molnar, H. Peter Anvin, Thomas Gleixner; +Cc: linux-kernel Mark the thermal init functions __init so that the init memory can be freed. Signed-off-by: Yong Wang <yong.y.wang@intel.com> --- arch/x86/kernel/cpu/mcheck/therm_throt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/cpu/mcheck/therm_throt.c b/arch/x86/kernel/cpu/mcheck/therm_throt.c index 7f3cf36..8a73d5c 100644 --- a/arch/x86/kernel/cpu/mcheck/therm_throt.c +++ b/arch/x86/kernel/cpu/mcheck/therm_throt.c @@ -256,7 +256,7 @@ asmlinkage void smp_thermal_interrupt(struct pt_regs *regs) ack_APIC_irq(); } -void mcheck_intel_therm_init(void) +void __init mcheck_intel_therm_init(void) { /* * This function is only called on boot CPU. Save the init thermal @@ -268,7 +268,7 @@ void mcheck_intel_therm_init(void) lvtthmr_init = apic_read(APIC_LVTTHMR); } -void intel_init_thermal(struct cpuinfo_x86 *c) +void __init intel_init_thermal(struct cpuinfo_x86 *c) { unsigned int cpu = smp_processor_id(); int tm2 = 0; ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [tip:perf/mce] x86: Mark the thermal init functions __init 2009-11-11 7:51 [PATCH] x86: Mark the thermal init functions __init Yong Wang @ 2009-11-11 11:42 ` tip-bot for Yong Wang 2009-11-12 5:28 ` [PATCH] " Hidetoshi Seto 1 sibling, 0 replies; 6+ messages in thread From: tip-bot for Yong Wang @ 2009-11-11 11:42 UTC (permalink / raw) To: linux-tip-commits Cc: linux-kernel, hpa, mingo, yong.y.wang, yong.y.wang, tglx, mingo Commit-ID: ce6b5d768c79b9d5dd6345c033bae781d5ca9b8e Gitweb: http://git.kernel.org/tip/ce6b5d768c79b9d5dd6345c033bae781d5ca9b8e Author: Yong Wang <yong.y.wang@linux.intel.com> AuthorDate: Wed, 11 Nov 2009 15:51:25 +0800 Committer: Ingo Molnar <mingo@elte.hu> CommitDate: Wed, 11 Nov 2009 12:33:32 +0100 x86: Mark the thermal init functions __init Mark the thermal init functions __init so that the init memory can be freed. Signed-off-by: Yong Wang <yong.y.wang@intel.com> LKML-Reference: <20091111075125.GA17900@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> --- arch/x86/kernel/cpu/mcheck/therm_throt.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/cpu/mcheck/therm_throt.c b/arch/x86/kernel/cpu/mcheck/therm_throt.c index 7f3cf36..8a73d5c 100644 --- a/arch/x86/kernel/cpu/mcheck/therm_throt.c +++ b/arch/x86/kernel/cpu/mcheck/therm_throt.c @@ -256,7 +256,7 @@ asmlinkage void smp_thermal_interrupt(struct pt_regs *regs) ack_APIC_irq(); } -void mcheck_intel_therm_init(void) +void __init mcheck_intel_therm_init(void) { /* * This function is only called on boot CPU. Save the init thermal @@ -268,7 +268,7 @@ void mcheck_intel_therm_init(void) lvtthmr_init = apic_read(APIC_LVTTHMR); } -void intel_init_thermal(struct cpuinfo_x86 *c) +void __init intel_init_thermal(struct cpuinfo_x86 *c) { unsigned int cpu = smp_processor_id(); int tm2 = 0; ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] x86: Mark the thermal init functions __init 2009-11-11 7:51 [PATCH] x86: Mark the thermal init functions __init Yong Wang 2009-11-11 11:42 ` [tip:perf/mce] " tip-bot for Yong Wang @ 2009-11-12 5:28 ` Hidetoshi Seto 2009-11-12 6:52 ` [PATCH] x86, mce: fix __init annotations Hidetoshi Seto 1 sibling, 1 reply; 6+ messages in thread From: Hidetoshi Seto @ 2009-11-12 5:28 UTC (permalink / raw) To: Yong Wang; +Cc: Ingo Molnar, H. Peter Anvin, Thomas Gleixner, linux-kernel Yong Wang wrote: > Mark the thermal init functions __init so that the init memory can be freed. > > Signed-off-by: Yong Wang <yong.y.wang@intel.com> > --- > arch/x86/kernel/cpu/mcheck/therm_throt.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kernel/cpu/mcheck/therm_throt.c b/arch/x86/kernel/cpu/mcheck/therm_throt.c > index 7f3cf36..8a73d5c 100644 > --- a/arch/x86/kernel/cpu/mcheck/therm_throt.c > +++ b/arch/x86/kernel/cpu/mcheck/therm_throt.c > @@ -256,7 +256,7 @@ asmlinkage void smp_thermal_interrupt(struct pt_regs *regs) > ack_APIC_irq(); > } > > -void mcheck_intel_therm_init(void) > +void __init mcheck_intel_therm_init(void) > { > /* > * This function is only called on boot CPU. Save the init thermal It's OK because it is called only on BP. > @@ -268,7 +268,7 @@ void mcheck_intel_therm_init(void) > lvtthmr_init = apic_read(APIC_LVTTHMR); > } > > -void intel_init_thermal(struct cpuinfo_x86 *c) > +void __init intel_init_thermal(struct cpuinfo_x86 *c) > { > unsigned int cpu = smp_processor_id(); > int tm2 = 0; But I think this could be called on hot-plugged AP. Should be __cpuinit ? void __cpuinit mcheck_cpu_init(struct cpuinfo_x86 *c) -> static void __mcheck_cpu_init_vendor(struct cpuinfo_x86 *c) -> void mce_intel_feature_init(struct cpuinfo_x86 *c) -> void intel_init_thermal(struct cpuinfo_x86 *c) Thanks, H.Seto ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] x86, mce: fix __init annotations 2009-11-12 5:28 ` [PATCH] " Hidetoshi Seto @ 2009-11-12 6:52 ` Hidetoshi Seto 2009-11-12 8:12 ` Yong Wang 2009-11-12 8:22 ` [tip:perf/mce] x86, mce: Fix " tip-bot for Hidetoshi Seto 0 siblings, 2 replies; 6+ messages in thread From: Hidetoshi Seto @ 2009-11-12 6:52 UTC (permalink / raw) To: Yong Wang; +Cc: Ingo Molnar, H. Peter Anvin, Thomas Gleixner, linux-kernel Hidetoshi Seto wrote: > Yong Wang wrote: >> @@ -268,7 +268,7 @@ void mcheck_intel_therm_init(void) >> lvtthmr_init = apic_read(APIC_LVTTHMR); >> } >> >> -void intel_init_thermal(struct cpuinfo_x86 *c) >> +void __init intel_init_thermal(struct cpuinfo_x86 *c) >> { >> unsigned int cpu = smp_processor_id(); >> int tm2 = 0; > > But I think this could be called on hot-plugged AP. > Should be __cpuinit ? > > void __cpuinit mcheck_cpu_init(struct cpuinfo_x86 *c) > -> static void __mcheck_cpu_init_vendor(struct cpuinfo_x86 *c) > -> void mce_intel_feature_init(struct cpuinfo_x86 *c) > -> void intel_init_thermal(struct cpuinfo_x86 *c) I found it is called from resume path, so neither __init nor __cpuinit will be applicable... static int mce_resume(struct sys_device *dev) -> static void __mcheck_cpu_init_vendor(struct cpuinfo_x86 *c) -> void mce_intel_feature_init(struct cpuinfo_x86 *c) -> void intel_init_thermal(struct cpuinfo_x86 *c) Following patch is based on tip:perf/mce. Thanks, H.Seto === Subject: [PATCH] x86, mce: fix __init annotations The intel_init_thermal() is called from resume path, so it cannot be marked as __init. OTOH mce_banks_init() is only called from __mcheck_cpu_cap_init() which is marked as __cpuinit, so it can be also marked as __cpuinit. Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> --- arch/x86/kernel/cpu/mcheck/mce.c | 4 ++-- arch/x86/kernel/cpu/mcheck/therm_throt.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index 0d41020..5f277ca 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -1201,7 +1201,7 @@ int mce_notify_irq(void) } EXPORT_SYMBOL_GPL(mce_notify_irq); -static int mce_banks_init(void) +static int __cpuinit __mcheck_cpu_mce_banks_init(void) { int i; @@ -1242,7 +1242,7 @@ static int __cpuinit __mcheck_cpu_cap_init(void) WARN_ON(banks != 0 && b != banks); banks = b; if (!mce_banks) { - int err = mce_banks_init(); + int err = __mcheck_cpu_mce_banks_init(); if (err) return err; diff --git a/arch/x86/kernel/cpu/mcheck/therm_throt.c b/arch/x86/kernel/cpu/mcheck/therm_throt.c index 8a73d5c..4fef985 100644 --- a/arch/x86/kernel/cpu/mcheck/therm_throt.c +++ b/arch/x86/kernel/cpu/mcheck/therm_throt.c @@ -268,7 +268,7 @@ void __init mcheck_intel_therm_init(void) lvtthmr_init = apic_read(APIC_LVTTHMR); } -void __init intel_init_thermal(struct cpuinfo_x86 *c) +void intel_init_thermal(struct cpuinfo_x86 *c) { unsigned int cpu = smp_processor_id(); int tm2 = 0; -- 1.6.5.2 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] x86, mce: fix __init annotations 2009-11-12 6:52 ` [PATCH] x86, mce: fix __init annotations Hidetoshi Seto @ 2009-11-12 8:12 ` Yong Wang 2009-11-12 8:22 ` [tip:perf/mce] x86, mce: Fix " tip-bot for Hidetoshi Seto 1 sibling, 0 replies; 6+ messages in thread From: Yong Wang @ 2009-11-12 8:12 UTC (permalink / raw) To: Hidetoshi Seto; +Cc: Ingo Molnar, H. Peter Anvin, Thomas Gleixner, linux-kernel On Thu, Nov 12, 2009 at 03:52:40PM +0900, Hidetoshi Seto wrote: > Hidetoshi Seto wrote: > > Yong Wang wrote: > >> @@ -268,7 +268,7 @@ void mcheck_intel_therm_init(void) > >> lvtthmr_init = apic_read(APIC_LVTTHMR); > >> } > >> > >> -void intel_init_thermal(struct cpuinfo_x86 *c) > >> +void __init intel_init_thermal(struct cpuinfo_x86 *c) > >> { > >> unsigned int cpu = smp_processor_id(); > >> int tm2 = 0; > > > > But I think this could be called on hot-plugged AP. > > Should be __cpuinit ? > > > > void __cpuinit mcheck_cpu_init(struct cpuinfo_x86 *c) > > -> static void __mcheck_cpu_init_vendor(struct cpuinfo_x86 *c) > > -> void mce_intel_feature_init(struct cpuinfo_x86 *c) > > -> void intel_init_thermal(struct cpuinfo_x86 *c) > > I found it is called from resume path, so neither __init nor __cpuinit > will be applicable... > > static int mce_resume(struct sys_device *dev) > -> static void __mcheck_cpu_init_vendor(struct cpuinfo_x86 *c) > -> void mce_intel_feature_init(struct cpuinfo_x86 *c) > -> void intel_init_thermal(struct cpuinfo_x86 *c) > > Following patch is based on tip:perf/mce. > > > Thanks, > H.Seto > > === > > Subject: [PATCH] x86, mce: fix __init annotations > > The intel_init_thermal() is called from resume path, so it cannot be > marked as __init. > > OTOH mce_banks_init() is only called from __mcheck_cpu_cap_init() > which is marked as __cpuinit, so it can be also marked as __cpuinit. > > Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> > --- > arch/x86/kernel/cpu/mcheck/mce.c | 4 ++-- > arch/x86/kernel/cpu/mcheck/therm_throt.c | 2 +- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c > index 0d41020..5f277ca 100644 > --- a/arch/x86/kernel/cpu/mcheck/mce.c > +++ b/arch/x86/kernel/cpu/mcheck/mce.c > @@ -1201,7 +1201,7 @@ int mce_notify_irq(void) > } > EXPORT_SYMBOL_GPL(mce_notify_irq); > > -static int mce_banks_init(void) > +static int __cpuinit __mcheck_cpu_mce_banks_init(void) > { > int i; > > @@ -1242,7 +1242,7 @@ static int __cpuinit __mcheck_cpu_cap_init(void) > WARN_ON(banks != 0 && b != banks); > banks = b; > if (!mce_banks) { > - int err = mce_banks_init(); > + int err = __mcheck_cpu_mce_banks_init(); > > if (err) > return err; > diff --git a/arch/x86/kernel/cpu/mcheck/therm_throt.c b/arch/x86/kernel/cpu/mcheck/therm_throt.c > index 8a73d5c..4fef985 100644 > --- a/arch/x86/kernel/cpu/mcheck/therm_throt.c > +++ b/arch/x86/kernel/cpu/mcheck/therm_throt.c > @@ -268,7 +268,7 @@ void __init mcheck_intel_therm_init(void) > lvtthmr_init = apic_read(APIC_LVTTHMR); > } > > -void __init intel_init_thermal(struct cpuinfo_x86 *c) > +void intel_init_thermal(struct cpuinfo_x86 *c) > { > unsigned int cpu = smp_processor_id(); > int tm2 = 0; > Oh, yeah. We should only mark mcheck_intel_therm_init as __init for the thermal part. Thanks for spotting. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [tip:perf/mce] x86, mce: Fix __init annotations 2009-11-12 6:52 ` [PATCH] x86, mce: fix __init annotations Hidetoshi Seto 2009-11-12 8:12 ` Yong Wang @ 2009-11-12 8:22 ` tip-bot for Hidetoshi Seto 1 sibling, 0 replies; 6+ messages in thread From: tip-bot for Hidetoshi Seto @ 2009-11-12 8:22 UTC (permalink / raw) To: linux-tip-commits Cc: linux-kernel, hpa, mingo, yong.y.wang, seto.hidetoshi, tglx, mingo Commit-ID: cffd377e5879ea58522224a785a083f201afd80e Gitweb: http://git.kernel.org/tip/cffd377e5879ea58522224a785a083f201afd80e Author: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> AuthorDate: Thu, 12 Nov 2009 15:52:40 +0900 Committer: Ingo Molnar <mingo@elte.hu> CommitDate: Thu, 12 Nov 2009 09:17:11 +0100 x86, mce: Fix __init annotations The intel_init_thermal() is called from resume path, so it cannot be marked as __init. OTOH mce_banks_init() is only called from __mcheck_cpu_cap_init() which is marked as __cpuinit, so it can be also marked as __cpuinit. Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> Acked-by: Yong Wang <yong.y.wang@linux.intel.com> LKML-Reference: <4AFBB0B8.2070501@jp.fujitsu.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> --- arch/x86/kernel/cpu/mcheck/mce.c | 4 ++-- arch/x86/kernel/cpu/mcheck/therm_throt.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index 0d41020..5f277ca 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -1201,7 +1201,7 @@ int mce_notify_irq(void) } EXPORT_SYMBOL_GPL(mce_notify_irq); -static int mce_banks_init(void) +static int __cpuinit __mcheck_cpu_mce_banks_init(void) { int i; @@ -1242,7 +1242,7 @@ static int __cpuinit __mcheck_cpu_cap_init(void) WARN_ON(banks != 0 && b != banks); banks = b; if (!mce_banks) { - int err = mce_banks_init(); + int err = __mcheck_cpu_mce_banks_init(); if (err) return err; diff --git a/arch/x86/kernel/cpu/mcheck/therm_throt.c b/arch/x86/kernel/cpu/mcheck/therm_throt.c index 8a73d5c..4fef985 100644 --- a/arch/x86/kernel/cpu/mcheck/therm_throt.c +++ b/arch/x86/kernel/cpu/mcheck/therm_throt.c @@ -268,7 +268,7 @@ void __init mcheck_intel_therm_init(void) lvtthmr_init = apic_read(APIC_LVTTHMR); } -void __init intel_init_thermal(struct cpuinfo_x86 *c) +void intel_init_thermal(struct cpuinfo_x86 *c) { unsigned int cpu = smp_processor_id(); int tm2 = 0; ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2009-11-12 8:22 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-11-11 7:51 [PATCH] x86: Mark the thermal init functions __init Yong Wang 2009-11-11 11:42 ` [tip:perf/mce] " tip-bot for Yong Wang 2009-11-12 5:28 ` [PATCH] " Hidetoshi Seto 2009-11-12 6:52 ` [PATCH] x86, mce: fix __init annotations Hidetoshi Seto 2009-11-12 8:12 ` Yong Wang 2009-11-12 8:22 ` [tip:perf/mce] x86, mce: Fix " tip-bot for Hidetoshi Seto
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.