From: Balbir Singh <bsingharora@gmail.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Nicholas Piggin <npiggin@gmail.com>
Cc: linuxppc-dev@ozlabs.org, Michael Ellerman <mpe@ellerman.id.au>,
Paul Mackerras <paulus@samba.org>
Subject: Re: [powerpc/nmi: RFC 2/2] Keep interrupts enabled even on soft disable
Date: Wed, 14 Dec 2016 11:41:15 +1100 [thread overview]
Message-ID: <b1455ef8-7583-bafb-fce9-0c2829d87c0b@gmail.com> (raw)
In-Reply-To: <1481642851.17253.72.camel@kernel.crashing.org>
On 14/12/16 02:27, Benjamin Herrenschmidt wrote:
> On Tue, 2016-12-13 at 16:36 +1100, Balbir Singh wrote:
>> Yep, although the code works for PPC_XICS only which is good for now.
>> When we do XIVE, we can add more bits
>
> We may want to do XIVE differently, dunno. On XIVE we can just poke the
> processor priority with a single MMIO store, so we don't actually need
> to "fetch" the interrupt and we can continue doing separate priorities.
>
It would be good to have it be uniform, where the CPPR can be set to
the level of the current IRQ being processed (as seen from the controller)
but not yet finished via EOI. I've not looked at the CPPR/Context/Queue/Ring
details of the XIVE. But I'll let you provide the expertise on IRQ
handling
> Note that raising the priority would work on XICS in *theory* as well
> but HW bugs get in the way if we do that.
>
Yep, I am not using the MFRR. Right now, I notice the CPPR is set to the
priority of the acked interrupt when we do a read of XIRR. Which works
well when we have just one priority at the moment.
> We also need to make sure you either adjust MPIC and all other PICs
> potentially used on ppc64 to do this "only one priority" thing or you
> disable that new mechanism on all those PICs.
>
I was planning to skipping other IRQ chips for now and support just
XICS/XIVE with BOOK3S and PPC64. But we can discuss this.
> That's why I mentioned opt-in. Maybe make it conditional on a global
> boolean that gets enabled by the PIC itself, or make it an enum
>
> enum lazy_irq_masking_mode {
> lazy_irq_mask_ee, /* Use CPU EE bit (default) */
> lazy_irq_mask_fetch, /* Fetch the interrupt and stash it away */
> lazy_irq_mask_prio /* Change processor priority */
> };
>
> For the latter we'd need a ppc_md. hook to do the priority change
> which xive (and potentially others like MPIC) could use.
We have set_cpu_priority for XICS, which sets the base_priority
only for the CPPR at the moment. It can be extended
Thanks for the comments,
Balbir
next prev parent reply other threads:[~2016-12-14 0:41 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-12 9:50 [powerpc/nmi: RFC 0/2] Support Soft NMI Balbir Singh
2016-12-12 9:50 ` [powerpc/nmi: RFC 1/2] Merge IPI and DEFAULT priorities Balbir Singh
2016-12-12 9:50 ` [powerpc/nmi: RFC 2/2] Keep interrupts enabled even on soft disable Balbir Singh
2016-12-12 13:31 ` Nicholas Piggin
2016-12-12 15:24 ` Benjamin Herrenschmidt
2016-12-13 3:28 ` Balbir Singh
2016-12-13 15:22 ` Benjamin Herrenschmidt
2016-12-13 5:36 ` Balbir Singh
2016-12-13 6:06 ` Nicholas Piggin
2016-12-13 15:27 ` Benjamin Herrenschmidt
2016-12-14 0:41 ` Balbir Singh [this message]
2016-12-15 15:15 ` Benjamin Herrenschmidt
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=b1455ef8-7583-bafb-fce9-0c2829d87c0b@gmail.com \
--to=bsingharora@gmail.com \
--cc=benh@kernel.crashing.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=npiggin@gmail.com \
--cc=paulus@samba.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 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).