[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230524072931.GA31483@wunner.de>
Date: Wed, 24 May 2023 09:29:31 +0200
From: Lukas Wunner <lukas@...ner.de>
To: Jarkko Sakkinen <jarkko@...nel.org>
Cc: Lino Sanfilippo <LinoSanfilippo@....de>, peterhuewe@....de,
jgg@...pe.ca, jsnitsel@...hat.com, hdegoede@...hat.com,
oe-lkp@...ts.linux.dev, lkp@...el.com,
peter.ujfalusi@...ux.intel.com, peterz@...radead.org,
linux@...ewoehner.de, linux-integrity@...r.kernel.org,
linux-kernel@...r.kernel.org, l.sanfilippo@...bus.com,
p.rosenberger@...bus.com
Subject: Re: [PATCH 1/2] tpm, tpm_tis: Handle interrupt storm
On Wed, May 24, 2023 at 06:58:08AM +0300, Jarkko Sakkinen wrote:
> On Mon May 22, 2023 at 5:31 PM EEST, Lino Sanfilippo wrote:
> > + /*
> > + * The worker to free the TPM interrupt (free_irq_work) may already
> > + * be scheduled, so make sure it is not scheduled again.
> > + */
> > + if (!(chip->flags & TPM_CHIP_FLAG_IRQ))
> > + return;
> > +
> > + if (time_after(jiffies, priv->last_unhandled_irq + HZ/10))
> > + priv->unhandled_irqs = 1;
> > + else
> > + priv->unhandled_irqs++;
> > +
> > + priv->last_unhandled_irq = jiffies;
> > +
> > + if (priv->unhandled_irqs > MAX_UNHANDLED_IRQS)
> > + tpm_tis_handle_irq_storm(chip);
>
> Why wouldn't we switch to polling mode even when there is a single
> unhandled IRQ?
An unhandled IRQ can be legitimate if the interrupt is shared
with other devices and the IRQ was raised by one of them.
So you only want to switch to polling if there's a significant
amount of unhandled IRQs in a short period of time.
Thanks,
Lukas
Powered by blists - more mailing lists