From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Thomas Gleixner <tglx@linutronix.de>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
Jerry Snitselaar <jsnitsel@redhat.com>,
linux-kernel@vger.kernel.org,
Tvrtko Ursulin <tvrtko.ursulin@intel.com>,
Chris Wilson <chris@chris-wilson.co.uk>
Cc: Jason Gunthorpe <jgg@ziepe.ca>,
Peter Zijlstra <peterz@infradead.org>,
intel-gfx@lists.freedesktop.org,
Matthew Garrett <mjg59@google.com>,
James Bottomley <James.Bottomley@HansenPartnership.com>,
David Airlie <airlied@linux.ie>,
Jarkko Sakkinen <jarkko@kernel.org>,
dri-devel@lists.freedesktop.org, linux-integrity@vger.kernel.org,
Peter Huewe <peterhuewe@gmx.de>
Subject: Re: [Intel-gfx] [PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count
Date: Thu, 10 Dec 2020 17:09:33 +0000 [thread overview]
Message-ID: <e01e321d-d4ea-fcec-a3dc-16e641e49056@linux.intel.com> (raw)
In-Reply-To: <87v9d9k49q.fsf@nanos.tec.linutronix.de>
On 10/12/2020 16:35, Thomas Gleixner wrote:
> On Thu, Dec 10 2020 at 10:45, Tvrtko Ursulin wrote:
>> On 10/12/2020 07:53, Joonas Lahtinen wrote:
>>> I think later in the thread there was a suggestion to replace this with
>>> simple counter increment in IRQ handler.
>>
>> It was indeed unsafe until recent b00bccb3f0bb ("drm/i915/pmu: Handle
>> PCI unbind") but now should be fine.
>>
>> If kstat_irqs does not get exported it is easy enough for i915 to keep a
>> local counter. Reasoning was very infrequent per cpu summation is much
>> cheaper than very frequent atomic add. Up to thousands of interrupts per
>> second vs "once per second" PMU read kind of thing.
>
> Why do you need a atomic_add? It's ONE interrupt which can only be
> executed on ONE CPU at a time. Interrupt handlers are non-reentrant.
>
> The core code function will just return an accumulated counter nowadays
> which is only 32bit wide, which is what the interface provided forever.
> That needs to be fixed first.
>
> Aside of that the accounting is wrong when the interrupt line is shared
> because the core accounts interrupt per line not per device sharing the
> line. Don't know whether you care or not.
>
> I'll send out a series addressing irq_to_desc() (ab)use all over the
> place shortly. i915 is in there...
Yep we don't need atomic, my bad. And we would care about the shared
interrupt line. And without atomic the extra accounting falls way below
noise.
So in the light of it all, it sounds best I just quickly replace our
abuse with private counting and then you don't have to deal with it in
your series.
Regards,
Tvrtko
next prev parent reply other threads:[~2020-12-10 17:12 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-05 1:43 [PATCH v3 0/4] tpm_tis: Detect interrupt storms Jerry Snitselaar
2020-12-05 1:43 ` [PATCH v3 1/4] irq: export kstat_irqs Jerry Snitselaar
2020-12-05 10:39 ` Jarkko Sakkinen
2020-12-06 16:40 ` Thomas Gleixner
2020-12-06 17:40 ` James Bottomley
2020-12-06 19:29 ` Thomas Gleixner
2020-12-06 17:54 ` Thomas Gleixner
2020-12-06 21:46 ` Jerry Snitselaar
2020-12-05 1:43 ` [PATCH v3 2/4] drm/i915/pmu: Use kstat_irqs to get interrupt count Jerry Snitselaar
2020-12-06 16:38 ` Thomas Gleixner
2020-12-06 21:33 ` Thomas Gleixner
2020-12-08 9:54 ` Jarkko Sakkinen
2020-12-06 21:47 ` Jerry Snitselaar
2020-12-06 23:38 ` Thomas Gleixner
2020-12-10 7:53 ` [Intel-gfx] " Joonas Lahtinen
2020-12-10 10:45 ` Tvrtko Ursulin
2020-12-10 16:35 ` Thomas Gleixner
2020-12-10 17:09 ` Tvrtko Ursulin [this message]
2020-12-10 17:44 ` Thomas Gleixner
2020-12-10 17:51 ` Tvrtko Ursulin
2020-12-05 1:43 ` [PATCH v3 3/4] tpm_tis: Disable interrupts if interrupt storm detected Jerry Snitselaar
2020-12-06 19:26 ` Thomas Gleixner
2020-12-07 19:28 ` Jason Gunthorpe
2020-12-07 19:58 ` James Bottomley
2020-12-08 17:43 ` Jarkko Sakkinen
2020-12-08 17:42 ` Jarkko Sakkinen
2020-12-05 1:43 ` [PATCH v3 4/4] tpm_tis: Disable Interrupts on the ThinkPad L490 Jerry Snitselaar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e01e321d-d4ea-fcec-a3dc-16e641e49056@linux.intel.com \
--to=tvrtko.ursulin@linux.intel.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=airlied@linux.ie \
--cc=chris@chris-wilson.co.uk \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jarkko@kernel.org \
--cc=jgg@ziepe.ca \
--cc=joonas.lahtinen@linux.intel.com \
--cc=jsnitsel@redhat.com \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mjg59@google.com \
--cc=peterhuewe@gmx.de \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=tvrtko.ursulin@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).