lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87r1eccy6s.wl-maz@kernel.org>
Date:   Sun, 29 Aug 2021 12:00:59 +0100
From:   Marc Zyngier <maz@...nel.org>
To:     Huacai Chen <chenhuacai@...il.com>
Cc:     Huacai Chen <chenhuacai@...ngson.cn>,
        Thomas Gleixner <tglx@...utronix.de>,
        LKML <linux-kernel@...r.kernel.org>,
        Xuefeng Li <lixuefeng@...ngson.cn>,
        Jiaxun Yang <jiaxun.yang@...goat.com>
Subject: Re: [PATCH V3 08/10] irqchip: Add LoongArch CPU interrupt controller support

On Sun, 29 Aug 2021 11:34:21 +0100,
Huacai Chen <chenhuacai@...il.com> wrote:
> 
> Hi, Marc,
> 
> On Sun, Aug 29, 2021 at 6:10 PM Marc Zyngier <maz@...nel.org> wrote:
> >
> > On Sun, 29 Aug 2021 10:37:48 +0100,
> > Huacai Chen <chenhuacai@...il.com> wrote:
> >
> > > > Are you saying that there is no way for the interrupt controller
> > > > driver to figure out the hwirq number on its own?  That would seem
> > > > pretty odd (even the MIPS GIC has that). Worse case, you can provide
> > > > an arch-specific helper that exposes the current hwirq based on the
> > > > vector that triggered.
> > > We can get the hwirq number by reading CSR.ESTAT register, but in this
> > > way "vectored interrupts" is meaningless.
> >
> > Let's face it, the way you use vectored interrupts makes zero sense
> > already. The whole point of vectored interrupts is that the CPU can
> > branch to the handler directly, making the interrupt handling cheaper
> > as there should be no additional decoding and you can run the final
> > handler immediately. Here, all your interrupts point to the same
> > "default handler"...
> The default handler can be overridden by arch code.

How? Do you plan to bypass the whole of the Linux interrupt stack and
jump straight to the function provided by a driver via request_irq()?

Because that's the *only* way for vectored interrupts to make any
difference. They otherwise are an antiquated leftover from a time when
shaving every single instructions was an absolute requirement.
Vectored interrupts also tend to confuse vectors and priorities (yet
another bad move).

So let's be serious, the whole vectored interrupts is utter rubbish,
and you haven't given *any* argument as to why you can't make your
interrupt handling behave sanely and be maintainable.

Anyhow, we have both wasted enough time on this. I have suggested a
number of ways you can rework your interrupt handling to be more
acceptable. You can take or leave my suggestions, but I have no
intention to give my blessing to patches that have the current level
of quality.

	M.

-- 
Without deviation from the norm, progress is not possible.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ