Re: [RFC] IRQ handlers run with some high-priority interrupts(not NMI) enabled on some platform

From: Geert Uytterhoeven
Date: Fri Feb 19 2021 - 03:12:00 EST


Hi Michael,

On Thu, Feb 18, 2021 at 11:11 PM Michael Schmitz <schmitzmic@xxxxxxxxx> wrote:
> On 19/02/21 12:19 am, Arnd Bergmann wrote:
> > drivers/net/ethernet/8390/apne.c
> > drivers/net/ethernet/8390/ax88796.c
> > drivers/net/ethernet/8390/hydra.c
> > drivers/net/ethernet/8390/mac8390.c
> > drivers/net/ethernet/8390/ne.c
> > drivers/net/ethernet/8390/zorro8390.c
> [...]
> > Most of these are normal short-lived interrupts that only transfer
> > a few bytes or schedule deferred processing of some sort.
> > Most of the scsi and network drivers process the data in
> > a softirq, so those are generally fine here, but I do see that 8390
> > (ne2000) ethernet and the drivers/ide drivers do transfer their
> > data in hardirq context.
> >
> > Arnd
>
> 8390 ethernet drivers are widely used on m68k platforms (Amiga and
> Atari). At least on Amiga, the corresponding interrupt is a hardirq so
> I'd advise caution. That said, the 8390 drivers might benefit from some
> refactoring (the way these drivers are compiled does prevent e.g. the
> APNE driver from being used with two different variants of PCMCIA
> interfaces. I had begun some work on making IO primitives runtime
> selected two years ago but that ended up looking too ugly ...).
>
> Can't recall what IPL the 8390 interrupts operate at - Geert?

#define IRQ_AMIGA_PORTS IRQ_AUTO_2

Zorro expansion boards can also use

#define IRQ_AMIGA_EXTER IRQ_AUTO_6

and some boards may have a jumper to select the latter, but all Amiga
Linux drivers use IRQ_AMIGA_PORTS.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds