From: Gautham R Shenoy <ego@linux.vnet.ibm.com>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: Gautham R Shenoy <ego@linux.vnet.ibm.com>,
linuxppc-dev@lists.ozlabs.org, Paul Mackerras <paulus@ozlabs.org>
Subject: Re: [PATCH 01/14] powerpc/64s: idle move soft interrupt mask logic into C code
Date: Tue, 13 Jun 2017 09:58:49 +0530 [thread overview]
Message-ID: <20170613042849.GI10921@in.ibm.com> (raw)
In-Reply-To: <20170613004602.2451e44e@roar.ozlabs.ibm.com>
On Tue, Jun 13, 2017 at 12:46:02AM +1000, Nicholas Piggin wrote:
> Hi Gautham,
>
> Thanks for the reviews.
>
> On Mon, 12 Jun 2017 14:07:27 +0530
> Gautham R Shenoy <ego@linux.vnet.ibm.com> wrote:
>
> > Hi Nick,
> >
> > (Added Paul Mackerass to the Cc)
> > On Mon, Jun 12, 2017 at 09:58:22AM +1000, Nicholas Piggin wrote:
> > > This simplifies the asm and fixes irq-off tracing over sleep
> > > instructions.
> > >
> > > Also move powersave_nap check for POWER8 into C code, and move
> > > PSSCR register value calculation for POWER9 into C.
> > >
> >
> > Thanks for doing this. Only one minor comment.
> >
> > > Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
> > > ---
> > > index 98a6d07ecb5c..35cf5bb7daed 100644
> > > --- a/arch/powerpc/kernel/idle_book3s.S
> > > +++ b/arch/powerpc/kernel/idle_book3s.S
> >
> > [..snip..]
> >
> > > @@ -109,13 +109,9 @@ core_idle_lock_held:
> > > /*
> > > * Pass requested state in r3:
> > > * r3 - PNV_THREAD_NAP/SLEEP/WINKLE in POWER8
> > > - * - Requested STOP state in POWER9
> > > + * - Requested PSSCR value in POWER9
> > > *
> > > - * To check IRQ_HAPPENED in r4
> > > - * 0 - don't check
> > > - * 1 - check
> > > - *
> > > - * Address to 'rfid' to in r5
> > > + * Address of idle handler to 'rfid' to in r4
> > > */
> > > pnv_powersave_common:
> > > /* Use r3 to pass state nap/sleep/winkle */
> > > @@ -131,30 +127,7 @@ pnv_powersave_common:
> > > std r0,_LINK(r1)
> > > std r0,_NIP(r1)
> > >
> > > - /* Hard disable interrupts */
> > > - mfmsr r9
> > > - rldicl r9,r9,48,1
> > > - rotldi r9,r9,16
> > > - mtmsrd r9,1 /* hard-disable interrupts */
> > > -
> > > - /* Check if something happened while soft-disabled */
> > > - lbz r0,PACAIRQHAPPENED(r13)
> > > - andi. r0,r0,~PACA_IRQ_HARD_DIS@l
> > > - beq 1f
> > > - cmpwi cr0,r4,0
> >
> > There were callers to power7_nap() in the dynamic-core-split/unsplit
> > which wanted nap to be forced irrespective of whether an irq was
> > pending or not. With this new patch, there won't be a way to enforce
> > that on POWER8.
>
> Actually there are two APIs to sleep now, the low level one which
> does not check lazy irq or nap disable is power7_idle_insn(). The
> one which sets up the lazy irq state is power7_idle_type(). The
> dynamic core split calls the former, so AFAIKS it should be
> equivalent.
Ah, I see. Yes, my bad. I didn't check which one we are calling in the
dynamic split case.
Reviewed-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
>
> Not the best names perhaps. Open to better suggestions.
>
> Thanks,
> Nick
>
--
Thanks and Regards
gautham.
next prev parent reply other threads:[~2017-06-13 4:28 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-11 23:58 [PATCH 00/14 v2] idle performance improvements Nicholas Piggin
2017-06-11 23:58 ` [PATCH 01/14] powerpc/64s: idle move soft interrupt mask logic into C code Nicholas Piggin
2017-06-12 8:37 ` Gautham R Shenoy
2017-06-12 14:46 ` Nicholas Piggin
2017-06-13 4:28 ` Gautham R Shenoy [this message]
2017-06-11 23:58 ` [PATCH 02/14] powerpc/64s: idle hotplug lazy-irq simplification Nicholas Piggin
2017-06-11 23:58 ` [PATCH 03/14] powerpc/64s: idle provide a default idle for POWER9 Nicholas Piggin
2017-06-12 8:53 ` Gautham R Shenoy
2017-06-12 14:46 ` Nicholas Piggin
2017-06-11 23:58 ` [PATCH 04/14] powerpc/64s: idle process interrupts from system reset wakeup Nicholas Piggin
2017-06-12 9:41 ` Gautham R Shenoy
2017-06-12 14:51 ` Nicholas Piggin
2017-06-11 23:58 ` [PATCH 05/14] powerpc/64s: msgclr when handling doorbell exceptions Nicholas Piggin
2017-06-12 14:38 ` Gautham R Shenoy
2017-06-11 23:58 ` [PATCH 06/14] powerpc/64s: interrupt replay balance the return branch predictor Nicholas Piggin
2017-06-12 14:41 ` Gautham R Shenoy
2017-06-13 9:51 ` Michael Ellerman
2017-06-13 11:09 ` Nicholas Piggin
2017-06-11 23:58 ` [PATCH 07/14] powerpc/64s: idle branch to handler with virtual mode offset Nicholas Piggin
2017-06-11 23:58 ` [PATCH 08/14] powerpc/64s: idle avoid SRR usage in idle sleep/wake paths Nicholas Piggin
2017-06-13 10:25 ` Gautham R Shenoy
2017-06-13 10:45 ` Nicholas Piggin
2017-06-11 23:58 ` [PATCH 09/14] powerpc/64s: idle hmi wakeup is unlikely Nicholas Piggin
2017-06-12 15:03 ` Gautham R Shenoy
2017-06-11 23:58 ` [PATCH 10/14] powerpc/64s: cpuidle set polling before enabling irqs Nicholas Piggin
2017-06-12 15:10 ` Gautham R Shenoy
2017-06-12 15:20 ` Nicholas Piggin
2017-06-11 23:58 ` [PATCH 11/14] powerpc/64s: cpuidle read mostly for common globals Nicholas Piggin
2017-06-12 15:30 ` Gautham R Shenoy
2017-06-12 17:50 ` Vaidyanathan Srinivasan
2017-06-11 23:58 ` [PATCH 12/14] powerpc/64s: cpuidle no memory barrier after break from idle Nicholas Piggin
2017-06-12 17:48 ` Vaidyanathan Srinivasan
2017-06-13 12:47 ` Nicholas Piggin
2017-06-11 23:58 ` [PATCH 13/14] powerpc/64: runlatch CTRL[RUN] set optimisation Nicholas Piggin
2017-06-12 17:11 ` Vaidyanathan Srinivasan
2017-06-13 10:04 ` Michael Ellerman
2017-06-13 11:56 ` Nicholas Piggin
2017-06-13 13:45 ` Benjamin Herrenschmidt
2017-06-14 3:34 ` Michael Ellerman
2017-06-11 23:58 ` [PATCH 14/14] powerpc/64s: idle runlatch switch is done with MSR[EE]=0 Nicholas Piggin
2017-06-12 17:00 ` Vaidyanathan Srinivasan
-- strict thread matches above, loose matches on Subject: below --
2017-06-08 15:50 [PATCH 00/14] idle performance improvements Nicholas Piggin
2017-06-08 15:51 ` [PATCH 01/14] powerpc/64s: idle move soft interrupt mask logic into C code Nicholas Piggin
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=20170613042849.GI10921@in.ibm.com \
--to=ego@linux.vnet.ibm.com \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=npiggin@gmail.com \
--cc=paulus@ozlabs.org \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.