RE: [PATCH] crypto: amlogic - Save a few bytes of memory

From: Elliott, Robert (Servers)
Date: Tue Nov 22 2022 - 19:03:57 EST




> -----Original Message-----
> From: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
> Sent: Tuesday, November 22, 2022 4:37 PM
> Subject: Re: [PATCH] crypto: amlogic - Save a few bytes of memory


...
> Unrelated, but I think that meson_irq_handler() needs a small ajustement
> to avoid printing a spurious message if readl() returns 0.
>
> Maybe something like that?:
>
> @@ -33,9 +33,10 @@ static irqreturn_t meson_irq_handler(int irq, void
> *data)
> writel_relaxed(0xF, mc->base + ((0x4 + flow) << 2));
> mc->chanlist[flow].status = 1;
> complete(&mc->chanlist[flow].complete);
> - return IRQ_HANDLED;
> + } else {
> + dev_err(mc->dev, "%s %d Got irq for flow %d but ctrl is empty\n", __func__, irq, flow);
> }
> - dev_err(mc->dev, "%s %d Got irq for flow %d but ctrl is empty\n", __func__, irq, flow);
> + return IRQ_HANDLED;
> }
> }

You might want to reconsider allowing this irq handler to do any prints.
80 characters take 5 ms to print on a 115 kbps serial port, which can
lead to RCU stalls, soft lockups, etc.

If kept, dev_err_ratelimited would be a little safer.

In some systems "spurious interrupts" are routine and are not really a
problem unless you overreact to them.