[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87tuouqjv7.wl-maz@kernel.org>
Date: Mon, 29 Mar 2021 12:28:44 +0100
From: Marc Zyngier <maz@...nel.org>
To: Jingyi Wang <wangjingyi11@...wei.com>
Cc: <linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>, <tglx@...utronix.de>,
<wanghaibin.wang@...wei.com>, <yuzenghui@...wei.com>,
<zhukeqian1@...wei.com>
Subject: Re: [RFC PATCH 1/3] irqchip/gic-v3: Make use of ICC_SGI1R IRM bit
On Mon, 29 Mar 2021 11:38:04 +0100,
Jingyi Wang <wangjingyi11@...wei.com> wrote:
>
>
>
> On 3/29/2021 5:55 PM, Marc Zyngier wrote:
> > On Mon, 29 Mar 2021 09:52:08 +0100,
> > Jingyi Wang <wangjingyi11@...wei.com> wrote:
> >>
> >> IRM, bit[40] in ICC_SGI1R, determines how the generated SGIs
> >> are distributed to PEs. If the bit is set, interrupts are routed
> >> to all PEs in the system excluding "self". We use cpumask to
> >> determine if this bit should be set and make use of that.
> >>
> >> This will reduce vm trap when broadcast IPIs are sent.
> >
> > I remember writing similar code about 4 years ago, only to realise
> > what:
> >
> > - the cost of computing the resulting mask is pretty high for large
> > machines
> > - Linux almost never sends broadcast IPIs, so the complexity was all
> > in vain
> >
> > What changed? Please provide supporting data showing how many IPIs we
> > actually save, and for which workload.
> Maybe we can implement send_IPI_allbutself hooks as other some other
> archs instead of computing cpumask here?
The question remains: how often is that used? x86 uses it only for NMI
(we don't broadcast our pseudo-NMI) and reboot, it seems. Anything I
missed? Do we have a different use case on arm64?
At the moment, this doesn't seem very useful.
Thanks,
M.
--
Without deviation from the norm, progress is not possible.
Powered by blists - more mailing lists