Messages in this thread | | | Subject | Re: [PATCH] iommu/amd: Fix event counter availability check | From | Paul Menzel <> | Date | Fri, 26 Feb 2021 22:44:08 +0100 |
| |
[cc: +suravee, +jörg]
Dear Alex, dear Shuah, dear Suravee, dear Jörg,
Am 03.06.20 um 08:54 schrieb Alexander Monakov: > On Tue, 2 Jun 2020, Shuah Khan wrote: > >> I changed the logic to read config to get max banks and counters >> before checking if counters are writable and tried writing to all. >> The result is the same and all of them aren't writable. However, >> when disable the writable check and assume they are, I can run > [snip] > > This is similar to what I did. I also noticed that counters can > be successfully used with perf if the initial check is ignored. > I was considering sending a patch to remove the check and adjust > the event counting logic to use counters as read-only, but after > a bit more investigation I've noticed how late pci_enable_device > is done, and came up with this patch. It's a path of less resistance: > I'd expect maintainers to be more averse to removing the check > rather than fixing it so it works as intended (even though I think > the check should not be there in the first place). > > However: > > The ability to modify the counters is needed only for sampling the > events (getting an interrupt when a counter overflows). There's no > code to do that for these AMD IOMMU counters. A solution I would > prefer is to not write to those counters at all. It would simplify or > even remove a bunch of code. I can submit a corresponding patch if > there's general agreement this path is ok. > > What do you think?
I like this idea. Suravee, Jörg, what do you think?
Commit 6778ff5b21b (iommu/amd: Fix performance counter initialization) delays the boot up to 100 ms, which is over 20 % on fast systems, and also just a workaround, and does not seem to work always. The delay is also not mentioned in the commit message.
Kind regards,
Paul
[1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6778ff5b21bd8e78c8bd547fd66437cf2657fd9b
| |