LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Michael Ellerman <mpe@ellerman.id.au> To: Akshay Adiga <akshay.adiga@linux.vnet.ibm.com>, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Cc: npiggin@gmail.com, ego@linux.vnet.ibm.com, Akshay Adiga <akshay.adiga@linux.vnet.ibm.com> Subject: Re: [PATCH] cpuidle/powernv : init all present cpus for deep states Date: Fri, 25 May 2018 20:50:43 +1000 [thread overview] Message-ID: <87fu2gqa9o.fsf@concordia.ellerman.id.au> (raw) In-Reply-To: <1526472134-23757-1-git-send-email-akshay.adiga@linux.vnet.ibm.com> Akshay Adiga <akshay.adiga@linux.vnet.ibm.com> writes: > Init all present cpus for deep states instead of "all possible" cpus. > Init fails if the possible cpu is gaurded. Resulting in making only > non-deep states available for cpuidle/hotplug. This is basically the opposite of what we just did for IMC. There we switched from present to possible, to make it work when some CPUs are guarded. Which makes me think we need a better way of dealing with guarded CPUs, because working out which code should use present or possible seems to be basically trial-and-error. I'm not actually sure why Guarded CPUs are showing up as possible but not present, did we do that on purpose or is it just happening by accident? I can merge this, but we need to make this less bug prone in future. cheers > diff --git a/arch/powerpc/platforms/powernv/idle.c b/arch/powerpc/platforms/powernv/idle.c > index 1f12ab1..1c5d067 100644 > --- a/arch/powerpc/platforms/powernv/idle.c > +++ b/arch/powerpc/platforms/powernv/idle.c > @@ -79,7 +79,7 @@ static int pnv_save_sprs_for_deep_states(void) > uint64_t msr_val = MSR_IDLE; > uint64_t psscr_val = pnv_deepest_stop_psscr_val; > > - for_each_possible_cpu(cpu) { > + for_each_present_cpu(cpu) { > uint64_t pir = get_hard_smp_processor_id(cpu); > uint64_t hsprg0_val = (uint64_t)paca_ptrs[cpu]; > > @@ -814,7 +814,7 @@ static int __init pnv_init_idle_states(void) > int cpu; > > pr_info("powernv: idle: Saving PACA pointers of all CPUs in their thread sibling PACA\n"); > - for_each_possible_cpu(cpu) { > + for_each_present_cpu(cpu) { > int base_cpu = cpu_first_thread_sibling(cpu); > int idx = cpu_thread_in_core(cpu); > int i; > -- > 2.5.5
next prev parent reply other threads:[~2018-05-25 10:50 UTC|newest] Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-05-16 12:02 [PATCH] cpuidle/powernv : init all present cpus for deep states Akshay Adiga 2018-05-16 15:22 ` Stewart Smith 2018-05-17 5:55 ` Akshay Adiga 2018-05-25 10:52 ` Michael Ellerman 2018-05-24 6:53 ` Akshay Adiga 2018-05-25 10:50 ` Michael Ellerman [this message] 2018-05-28 0:46 ` Stewart Smith 2018-06-01 15:54 ` Michael Ellerman
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=87fu2gqa9o.fsf@concordia.ellerman.id.au \ --to=mpe@ellerman.id.au \ --cc=akshay.adiga@linux.vnet.ibm.com \ --cc=ego@linux.vnet.ibm.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linuxppc-dev@lists.ozlabs.org \ --cc=npiggin@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).