* [PATCH 0/1] speeding up cpu_up() @ 2015-04-19 0:53 Len Brown 2015-04-19 0:53 ` [PATCH 1/1] x86: replace cpu_up hard-coded mdelay with variable Len Brown 2015-04-20 7:15 ` [PATCH 0/1] speeding up cpu_up() Ingo Molnar 0 siblings, 2 replies; 15+ messages in thread From: Len Brown @ 2015-04-19 0:53 UTC (permalink / raw) To: x86, linux-pm, linux-kernel The following patch... [PATCH 1/1] x86: replace cpu_up hard-coded mdelay with variable enables reducing cpu_up() time by 10ms on modern systems. This means that for every processor in the system, boot-time and resume-time can be reduced by 10ms per-processor. Once this patch is accepted, I'll send a subsequent patch to update the default delay, as appropriate. thanks, Len Brown, Intel Open Source Technology Center ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/1] x86: replace cpu_up hard-coded mdelay with variable 2015-04-19 0:53 [PATCH 0/1] speeding up cpu_up() Len Brown @ 2015-04-19 0:53 ` Len Brown 2015-04-20 7:13 ` Ingo Molnar 2015-04-22 5:40 ` Paul Gortmaker 2015-04-20 7:15 ` [PATCH 0/1] speeding up cpu_up() Ingo Molnar 1 sibling, 2 replies; 15+ messages in thread From: Len Brown @ 2015-04-19 0:53 UTC (permalink / raw) To: x86, linux-pm, linux-kernel; +Cc: Len Brown From: Len Brown <len.brown@intel.com> Default behavior unchanged. cpu_up() has a hard-coded mdelay(10). Change that to a variable, with default CONFIG_X86_INIT_MDELAY and a boot-time override, "cpu_init_mdelay=N" This patch adds mechanism without changing default policy. Default policy will be changed in a subsequent patch. Signed-off-by: Len Brown <len.brown@intel.com> --- Documentation/kernel-parameters.txt | 7 +++++++ arch/x86/Kconfig | 15 +++++++++++++++ arch/x86/kernel/smpboot.c | 16 +++++++++++++++- 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index bfcb1a6..ec98968 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -737,6 +737,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted. cpuidle.off=1 [CPU_IDLE] disable the cpuidle sub-system + cpu_init_mdelay=N + [X86] Delay for N millisec between assert and de-assert + of APIC INIT to start processor. In most configurations, + this occurs once for every CPU upon boot, and online, + such as resume from suspend and resume from hibernate. + Default: 10 + cpcihp_generic= [HW,PCI] Generic port I/O CompactPCI driver Format: <first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>] diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index b7d31ca..d2a91da 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -884,6 +884,21 @@ config SCHED_MC making when dealing with multi-core CPU chips at a cost of slightly increased overhead in some places. If unsure say N here. +config X86_INIT_MDELAY + int "Milliseconds to wait to de-assert INIT upon CPU startup" if SMP + range 0 10 + default "10" + ---help--- + This allows you to specify how long the BSP will delay + between asserting INIT and de-asserting INIT when starting another CPU. + This delay is paid on each cpu-online operation, including boot-time, + resume from suspend, and resume from hibernate. The the value of + 10 millisec was specified by Multi-Processor Spec 1.4 in 1997. + But modern hardware does not require any delay. + + The kernel boot-time parameter "cpu_init_mdelay=" + will over-ride this build-time default. + source "kernel/Kconfig.preempt" config UP_LATE_INIT diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index febc6aa..973621f 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -555,6 +555,20 @@ wakeup_secondary_cpu_via_nmi(int apicid, unsigned long start_eip) return (send_status | accept_status); } +unsigned int x86_init_mdelay = CONFIG_X86_INIT_MDELAY; +static int __init cpu_init_mdelay(char *str) +{ + unsigned int tmp; + + get_option(&str, &tmp); + pr_info("x86_init_mdelay set to %d, was %d", tmp, x86_init_mdelay); + x86_init_mdelay = tmp; + return 0; +} + +early_param("cpu_init_mdelay", cpu_init_mdelay); + + static int wakeup_secondary_cpu_via_init(int phys_apicid, unsigned long start_eip) { @@ -586,7 +600,7 @@ wakeup_secondary_cpu_via_init(int phys_apicid, unsigned long start_eip) pr_debug("Waiting for send to finish...\n"); send_status = safe_apic_wait_icr_idle(); - mdelay(10); + mdelay(x86_init_mdelay); pr_debug("Deasserting INIT\n"); -- 2.4.0.rc1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 1/1] x86: replace cpu_up hard-coded mdelay with variable 2015-04-19 0:53 ` [PATCH 1/1] x86: replace cpu_up hard-coded mdelay with variable Len Brown @ 2015-04-20 7:13 ` Ingo Molnar 2015-04-20 12:37 ` Brown, Len 2015-04-22 5:40 ` Paul Gortmaker 1 sibling, 1 reply; 15+ messages in thread From: Ingo Molnar @ 2015-04-20 7:13 UTC (permalink / raw) To: Len Brown Cc: x86, linux-pm, linux-kernel, Len Brown, Borislav Petkov, H. Peter Anvin, Thomas Gleixner * Len Brown <lenb@kernel.org> wrote: > +config X86_INIT_MDELAY > + int "Milliseconds to wait to de-assert INIT upon CPU startup" if SMP > + range 0 10 > + default "10" > + ---help--- > + This allows you to specify how long the BSP will delay > + between asserting INIT and de-asserting INIT when starting another CPU. > + This delay is paid on each cpu-online operation, including boot-time, > + resume from suspend, and resume from hibernate. The the value of > + 10 millisec was specified by Multi-Processor Spec 1.4 in 1997. > + But modern hardware does not require any delay. What's the cutoff for 'modern hardware' - which CPUs stopped requiring the delay? Also, is there any public document where the no-delay is specified for 'modern hardware'? Thanks, Ingo ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: [PATCH 1/1] x86: replace cpu_up hard-coded mdelay with variable 2015-04-20 7:13 ` Ingo Molnar @ 2015-04-20 12:37 ` Brown, Len 2015-04-20 17:45 ` Ingo Molnar 0 siblings, 1 reply; 15+ messages in thread From: Brown, Len @ 2015-04-20 12:37 UTC (permalink / raw) To: Ingo Molnar, Len Brown Cc: x86@kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Borislav Petkov, H. Peter Anvin, Thomas Gleixner > What's the cutoff for 'modern hardware' - which CPUs stopped requiring > the delay? This is the topic of ongoing research, and I'm not ready to send the patch setting a new default until I've heard back from a few more HW people. Every system I've tested appears to work with delay 0. Were I to guess, I'd venture that every system that runs an X86_64 kernel might count as "modern" -- even the 2005 AMD Turion laptop I've got in the bone pile. > Also, is there any public document where the no-delay is specified for > 'modern hardware'? Unfortunately only the converse is true. There is an ancient document specifying that the delay may be necessary. cheers, -Len ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/1] x86: replace cpu_up hard-coded mdelay with variable 2015-04-20 12:37 ` Brown, Len @ 2015-04-20 17:45 ` Ingo Molnar 0 siblings, 0 replies; 15+ messages in thread From: Ingo Molnar @ 2015-04-20 17:45 UTC (permalink / raw) To: Brown, Len Cc: Len Brown, x86@kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Borislav Petkov, H. Peter Anvin, Thomas Gleixner * Brown, Len <len.brown@intel.com> wrote: > > What's the cutoff for 'modern hardware' - which CPUs stopped requiring > > the delay? > > This is the topic of ongoing research, and I'm not ready to send > the patch setting a new default until I've heard back from a few more HW people. > > Every system I've tested appears to work with delay 0. > Were I to guess, I'd venture that every > system that runs an X86_64 kernel might count as "modern" -- even > the 2005 AMD Turion laptop I've got in the bone pile. Could we use the apic version as a cutoff perhaps? It would be nice to 'automatically' include modern 32-bit x86 systems as well. Any failure here would be relatively easy to bisect to, so we might as well guess a bit and refine the quirk condition if needed? Thanks, Ingo ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/1] x86: replace cpu_up hard-coded mdelay with variable 2015-04-19 0:53 ` [PATCH 1/1] x86: replace cpu_up hard-coded mdelay with variable Len Brown 2015-04-20 7:13 ` Ingo Molnar @ 2015-04-22 5:40 ` Paul Gortmaker 2015-04-22 6:07 ` Ingo Molnar 1 sibling, 1 reply; 15+ messages in thread From: Paul Gortmaker @ 2015-04-22 5:40 UTC (permalink / raw) To: Len Brown; +Cc: X86 ML, Linux PM list, LKML, Len Brown On Sat, Apr 18, 2015 at 8:53 PM, Len Brown <lenb@kernel.org> wrote: > From: Len Brown <len.brown@intel.com> > [...] > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index b7d31ca..d2a91da 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -884,6 +884,21 @@ config SCHED_MC > making when dealing with multi-core CPU chips at a cost of slightly > increased overhead in some places. If unsure say N here. > > +config X86_INIT_MDELAY > + int "Milliseconds to wait to de-assert INIT upon CPU startup" if SMP > + range 0 10 > + default "10" > + ---help--- > + This allows you to specify how long the BSP will delay > + between asserting INIT and de-asserting INIT when starting another CPU. > + This delay is paid on each cpu-online operation, including boot-time, > + resume from suspend, and resume from hibernate. The the value of Happened to notice a 2x "The the..." when I came across this in linux-next today and was reading the help out of curiousity... P. -- > + 10 millisec was specified by Multi-Processor Spec 1.4 in 1997. > + But modern hardware does not require any delay. > + > + The kernel boot-time parameter "cpu_init_mdelay=" > + will over-ride this build-time default. > + > source "kernel/Kconfig.preempt" > > config UP_LATE_INIT > diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c > index febc6aa..973621f 100644 > --- a/arch/x86/kernel/smpboot.c > +++ b/arch/x86/kernel/smpboot.c > @@ -555,6 +555,20 @@ wakeup_secondary_cpu_via_nmi(int apicid, unsigned long start_eip) > return (send_status | accept_status); > } > > +unsigned int x86_init_mdelay = CONFIG_X86_INIT_MDELAY; > +static int __init cpu_init_mdelay(char *str) > +{ > + unsigned int tmp; > + > + get_option(&str, &tmp); > + pr_info("x86_init_mdelay set to %d, was %d", tmp, x86_init_mdelay); > + x86_init_mdelay = tmp; > + return 0; > +} > + > +early_param("cpu_init_mdelay", cpu_init_mdelay); > + > + > static int > wakeup_secondary_cpu_via_init(int phys_apicid, unsigned long start_eip) > { > @@ -586,7 +600,7 @@ wakeup_secondary_cpu_via_init(int phys_apicid, unsigned long start_eip) > pr_debug("Waiting for send to finish...\n"); > send_status = safe_apic_wait_icr_idle(); > > - mdelay(10); > + mdelay(x86_init_mdelay); > > pr_debug("Deasserting INIT\n"); > > -- > 2.4.0.rc1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/1] x86: replace cpu_up hard-coded mdelay with variable 2015-04-22 5:40 ` Paul Gortmaker @ 2015-04-22 6:07 ` Ingo Molnar 2015-05-01 21:02 ` Len Brown 0 siblings, 1 reply; 15+ messages in thread From: Ingo Molnar @ 2015-04-22 6:07 UTC (permalink / raw) To: Paul Gortmaker; +Cc: Len Brown, X86 ML, Linux PM list, LKML, Len Brown * Paul Gortmaker <paul.gortmaker@windriver.com> wrote: > On Sat, Apr 18, 2015 at 8:53 PM, Len Brown <lenb@kernel.org> wrote: > > From: Len Brown <len.brown@intel.com> > > > > [...] > > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > > index b7d31ca..d2a91da 100644 > > --- a/arch/x86/Kconfig > > +++ b/arch/x86/Kconfig > > @@ -884,6 +884,21 @@ config SCHED_MC > > making when dealing with multi-core CPU chips at a cost of slightly > > increased overhead in some places. If unsure say N here. > > > > +config X86_INIT_MDELAY > > + int "Milliseconds to wait to de-assert INIT upon CPU startup" if SMP > > + range 0 10 > > + default "10" > > + ---help--- > > + This allows you to specify how long the BSP will delay > > + between asserting INIT and de-asserting INIT when starting another CPU. > > + This delay is paid on each cpu-online operation, including boot-time, > > + resume from suspend, and resume from hibernate. The the value of > > Happened to notice a 2x "The the..." when I came across this in > linux-next today and was reading the help out of curiousity... Len, this commit isn't in a permanent Git tree yet, right? We want to do this through the x86 tree, and along the suggestions I made. Thanks, Ingo ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/1] x86: replace cpu_up hard-coded mdelay with variable 2015-04-22 6:07 ` Ingo Molnar @ 2015-05-01 21:02 ` Len Brown 0 siblings, 0 replies; 15+ messages in thread From: Len Brown @ 2015-05-01 21:02 UTC (permalink / raw) To: Ingo Molnar; +Cc: Paul Gortmaker, X86 ML, Linux PM list, LKML, Len Brown On Tue, Apr 21, 2015 at 11:07 PM, Ingo Molnar <mingo@kernel.org> wrote: > > * Paul Gortmaker <paul.gortmaker@windriver.com> wrote: >> Happened to notice a 2x "The the..." when I came across this in >> linux-next today and was reading the help out of curiousity... > > Len, this commit isn't in a permanent Git tree yet, right? We want to > do this through the x86 tree, and along the suggestions I made. It was in my -next tree -- no not permanent, yes, since removed (today). Yes, I plan to send you a v2 and TIP is the right place for it to live. Paul, thanks for noticing the typo. Len Brown, Intel Open Source Technology Center ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/1] speeding up cpu_up() 2015-04-19 0:53 [PATCH 0/1] speeding up cpu_up() Len Brown 2015-04-19 0:53 ` [PATCH 1/1] x86: replace cpu_up hard-coded mdelay with variable Len Brown @ 2015-04-20 7:15 ` Ingo Molnar 2015-05-01 21:42 ` Len Brown 1 sibling, 1 reply; 15+ messages in thread From: Ingo Molnar @ 2015-04-20 7:15 UTC (permalink / raw) To: Len Brown Cc: x86, linux-pm, linux-kernel, Borislav Petkov, Thomas Gleixner, H. Peter Anvin * Len Brown <lenb@kernel.org> wrote: > The following patch... > > [PATCH 1/1] x86: replace cpu_up hard-coded mdelay with variable > > enables reducing cpu_up() time by 10ms on modern systems. > > This means that for every processor in the system, > boot-time and resume-time can be reduced by 10ms per-processor. > > Once this patch is accepted, I'll send a subsequent patch > to update the default delay, as appropriate. > > thanks, > Len Brown, Intel Open Source Technology Center So instead of playing games with an ancient delay, I'd suggest we install the 10 msec INIT assertion wait as a platform quirk instead, and activate it for all CPUs/systems that we think might need it, with a sufficiently robust and future-proof quirk cutoff condition. New systems won't have the quirk active and thus won't have to have this delay configurable either. Thanks, Ingo ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/1] speeding up cpu_up() 2015-04-20 7:15 ` [PATCH 0/1] speeding up cpu_up() Ingo Molnar @ 2015-05-01 21:42 ` Len Brown 2015-05-01 22:47 ` Borislav Petkov 0 siblings, 1 reply; 15+ messages in thread From: Len Brown @ 2015-05-01 21:42 UTC (permalink / raw) To: Ingo Molnar Cc: X86 ML, Linux PM list, linux-kernel@vger.kernel.org, Borislav Petkov, Thomas Gleixner, H. Peter Anvin On Mon, Apr 20, 2015 at 12:15 AM, Ingo Molnar <mingo@kernel.org> wrote: > So instead of playing games with an ancient delay, I'd suggest we > install the 10 msec INIT assertion wait as a platform quirk instead, > and activate it for all CPUs/systems that we think might need it, with > a sufficiently robust and future-proof quirk cutoff condition. > > New systems won't have the quirk active and thus won't have to have > this delay configurable either. Okay, at this time, I think the quirk would apply to: 1. Intel family 5 (original pentium) -- some may actually need the quirk 2. Intel family F (pentium4) -- mostly b/c I don't want to bother finding/testing p4 3. All AMD (happy to narrow down, if somebody can speak for AMD) I'd keep the cmdline override, in case we break something, or somebody wants to optimize/test. (Though I'll update units to usec, rather than msec., so we can go below 1ms without going to 0) I don't think we need the config option, just a #define to document the quirk. What do you think? Len Brown, Intel Open Source Technology Center ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/1] speeding up cpu_up() 2015-05-01 21:42 ` Len Brown @ 2015-05-01 22:47 ` Borislav Petkov 2015-05-02 0:42 ` Aravind Gopalakrishnan 0 siblings, 1 reply; 15+ messages in thread From: Borislav Petkov @ 2015-05-01 22:47 UTC (permalink / raw) To: Len Brown, Aravind Gopalakrishnan Cc: Ingo Molnar, X86 ML, Linux PM list, linux-kernel@vger.kernel.org, Thomas Gleixner, H. Peter Anvin On Fri, May 01, 2015 at 02:42:39PM -0700, Len Brown wrote: > On Mon, Apr 20, 2015 at 12:15 AM, Ingo Molnar <mingo@kernel.org> wrote: > > > So instead of playing games with an ancient delay, I'd suggest we > > install the 10 msec INIT assertion wait as a platform quirk instead, > > and activate it for all CPUs/systems that we think might need it, with > > a sufficiently robust and future-proof quirk cutoff condition. > > > > New systems won't have the quirk active and thus won't have to have > > this delay configurable either. > > Okay, at this time, I think the quirk would apply to: > > 1. Intel family 5 (original pentium) -- some may actually need the quirk > 2. Intel family F (pentium4) -- mostly b/c I don't want to bother > finding/testing p4 > 3. All AMD (happy to narrow down, if somebody can speak for AMD) Aravind and I could probably test on a couple of AMD boxes to narrow down. @Aravind, see here: https://lkml.kernel.org/r/87d69aab88c14d65ae1e7be55050d1b689b59b4b.1429402494.git.len.brown@intel.com You could ask around whether a timeout is needed between the assertion and deassertion of INIT done by the BSP when booting other cores. If not, we probably should convert, at least modern AMD machines, to the no-delay default. > I'd keep the cmdline override, in case we break something, > or somebody wants to optimize/test. (Though I'll update units to > usec, rather than msec., > so we can go below 1ms without going to 0) > I don't think we need the config option, just a #define to document the quirk. > > What do you think? > > Len Brown, Intel Open Source Technology Center > -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply. -- ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/1] speeding up cpu_up() 2015-05-01 22:47 ` Borislav Petkov @ 2015-05-02 0:42 ` Aravind Gopalakrishnan 2015-05-03 16:13 ` Aravind Gopalakrishnan 0 siblings, 1 reply; 15+ messages in thread From: Aravind Gopalakrishnan @ 2015-05-02 0:42 UTC (permalink / raw) To: Borislav Petkov, Len Brown Cc: Ingo Molnar, X86 ML, Linux PM list, linux-kernel@vger.kernel.org, Thomas Gleixner, H. Peter Anvin On 5/1/15 5:47 PM, Borislav Petkov wrote: > On Fri, May 01, 2015 at 02:42:39PM -0700, Len Brown wrote: >> On Mon, Apr 20, 2015 at 12:15 AM, Ingo Molnar <mingo@kernel.org> wrote: >> >>> So instead of playing games with an ancient delay, I'd suggest we >>> install the 10 msec INIT assertion wait as a platform quirk instead, >>> and activate it for all CPUs/systems that we think might need it, with >>> a sufficiently robust and future-proof quirk cutoff condition. >>> >>> New systems won't have the quirk active and thus won't have to have >>> this delay configurable either. >> Okay, at this time, I think the quirk would apply to: >> >> 1. Intel family 5 (original pentium) -- some may actually need the quirk >> 2. Intel family F (pentium4) -- mostly b/c I don't want to bother >> finding/testing p4 >> 3. All AMD (happy to narrow down, if somebody can speak for AMD) > Aravind and I could probably test on a couple of AMD boxes to narrow down. > > @Aravind, see here: > > https://lkml.kernel.org/r/87d69aab88c14d65ae1e7be55050d1b689b59b4b.1429402494.git.len.brown@intel.com > > You could ask around whether a timeout is needed between the assertion > and deassertion of INIT done by the BSP when booting other cores. Sure, I'll ask around and try mdelay(0) on some systems as well. I can gather Fam15h, Fam16h but don't have K8's or older. Will let you know how it goes. -Aravind. > If not, we probably should convert, at least modern AMD machines, to the > no-delay default. > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/1] speeding up cpu_up() 2015-05-02 0:42 ` Aravind Gopalakrishnan @ 2015-05-03 16:13 ` Aravind Gopalakrishnan 2015-05-04 22:45 ` Aravind Gopalakrishnan 0 siblings, 1 reply; 15+ messages in thread From: Aravind Gopalakrishnan @ 2015-05-03 16:13 UTC (permalink / raw) To: Borislav Petkov, Len Brown Cc: Ingo Molnar, X86 ML, Linux PM list, linux-kernel@vger.kernel.org, Thomas Gleixner, H. Peter Anvin On 5/1/15 7:42 PM, Aravind Gopalakrishnan wrote: > > On 5/1/15 5:47 PM, Borislav Petkov wrote: >> On Fri, May 01, 2015 at 02:42:39PM -0700, Len Brown wrote: >>> On Mon, Apr 20, 2015 at 12:15 AM, Ingo Molnar <mingo@kernel.org> wrote: >>> >>>> So instead of playing games with an ancient delay, I'd suggest we >>>> install the 10 msec INIT assertion wait as a platform quirk instead, >>>> and activate it for all CPUs/systems that we think might need it, with >>>> a sufficiently robust and future-proof quirk cutoff condition. >>>> >>>> New systems won't have the quirk active and thus won't have to have >>>> this delay configurable either. >>> Okay, at this time, I think the quirk would apply to: >>> >>> 1. Intel family 5 (original pentium) -- some may actually need the >>> quirk >>> 2. Intel family F (pentium4) -- mostly b/c I don't want to bother >>> finding/testing p4 >>> 3. All AMD (happy to narrow down, if somebody can speak for AMD) >> Aravind and I could probably test on a couple of AMD boxes to narrow >> down. >> >> @Aravind, see here: >> >> https://lkml.kernel.org/r/87d69aab88c14d65ae1e7be55050d1b689b59b4b.1429402494.git.len.brown@intel.com >> >> >> You could ask around whether a timeout is needed between the assertion >> and deassertion of INIT done by the BSP when booting other cores. > > Sure, I'll ask around and try mdelay(0) on some systems as well. > I can gather Fam15h, Fam16h but don't have K8's or older. > > Will let you know how it goes. Update: Fam15h Model00h-0fh, Fam15hModel60h and Fam16h Model 00h-0fh processors boot fine with mdelay(0) and BSP brings up all secondary cpus correctly. I don't have Fam15hModel30h system currently up, but I'll try that too tomorrow. I am yet to get feedback from HW folks regarding this though. Thanks, -Aravind. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/1] speeding up cpu_up() 2015-05-03 16:13 ` Aravind Gopalakrishnan @ 2015-05-04 22:45 ` Aravind Gopalakrishnan 2015-05-05 7:15 ` Borislav Petkov 0 siblings, 1 reply; 15+ messages in thread From: Aravind Gopalakrishnan @ 2015-05-04 22:45 UTC (permalink / raw) To: Borislav Petkov, Len Brown Cc: Ingo Molnar, X86 ML, Linux PM list, linux-kernel@vger.kernel.org, Thomas Gleixner, H. Peter Anvin On 5/3/2015 11:13 AM, Aravind Gopalakrishnan wrote: > > On 5/1/15 7:42 PM, Aravind Gopalakrishnan wrote: >> >> On 5/1/15 5:47 PM, Borislav Petkov wrote: >>> Aravind and I could probably test on a couple of AMD boxes to narrow >>> down. >>> >>> @Aravind, see here: >>> >>> https://lkml.kernel.org/r/87d69aab88c14d65ae1e7be55050d1b689b59b4b.1429402494.git.len.brown@intel.com >>> >>> >>> You could ask around whether a timeout is needed between the assertion >>> and deassertion of INIT done by the BSP when booting other cores. >> >> Sure, I'll ask around and try mdelay(0) on some systems as well. >> I can gather Fam15h, Fam16h but don't have K8's or older. >> >> Will let you know how it goes. > Update: > Fam15h Model00h-0fh, Fam15hModel60h and Fam16h Model 00h-0fh > processors boot fine with mdelay(0) and BSP brings up all secondary > cpus correctly. I don't have Fam15hModel30h system currently up, but > I'll try that too tomorrow. > > I am yet to get feedback from HW folks regarding this though. Tested a delay of 0 on Fam10h and Fam15h Model 30h-3fh and both work fine. Feedback from asking internally about this is that we should be OK to move to a no-delay default from K8 onwards. Thanks, -Aravind. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/1] speeding up cpu_up() 2015-05-04 22:45 ` Aravind Gopalakrishnan @ 2015-05-05 7:15 ` Borislav Petkov 0 siblings, 0 replies; 15+ messages in thread From: Borislav Petkov @ 2015-05-05 7:15 UTC (permalink / raw) To: Aravind Gopalakrishnan, Len Brown Cc: Ingo Molnar, X86 ML, Linux PM list, linux-kernel@vger.kernel.org, Thomas Gleixner, H. Peter Anvin On Mon, May 04, 2015 at 05:45:17PM -0500, Aravind Gopalakrishnan wrote: > Tested a delay of 0 on Fam10h and Fam15h Model 30h-3fh and both work fine. Cool, thanks for testing. > Feedback from asking internally about this is that we should be OK to move > to a no-delay default from K8 onwards. Also cool :-) @Len: So everything with X86_VENDOR_AMD and c->x86 >= 0xf should be fine. Thanks. -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply. -- ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2015-05-05 7:15 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-04-19 0:53 [PATCH 0/1] speeding up cpu_up() Len Brown 2015-04-19 0:53 ` [PATCH 1/1] x86: replace cpu_up hard-coded mdelay with variable Len Brown 2015-04-20 7:13 ` Ingo Molnar 2015-04-20 12:37 ` Brown, Len 2015-04-20 17:45 ` Ingo Molnar 2015-04-22 5:40 ` Paul Gortmaker 2015-04-22 6:07 ` Ingo Molnar 2015-05-01 21:02 ` Len Brown 2015-04-20 7:15 ` [PATCH 0/1] speeding up cpu_up() Ingo Molnar 2015-05-01 21:42 ` Len Brown 2015-05-01 22:47 ` Borislav Petkov 2015-05-02 0:42 ` Aravind Gopalakrishnan 2015-05-03 16:13 ` Aravind Gopalakrishnan 2015-05-04 22:45 ` Aravind Gopalakrishnan 2015-05-05 7:15 ` Borislav Petkov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).