platform/x86/intel/pmc: regression found in commit 804951203aa541ad6720c9726c173d18aeb3ab6b

From: James Hutchinson
Date: Mon Nov 13 2023 - 10:42:51 EST


Running here on an Intel NUC 8i3BEH Coffee Lake machine under Arch Linux.

Connected to this machine I have 4x USB DVB Cards (2xDVBSky S960
DVB-S2 adapters & 2xGeniatech T230 DVB-T2 adapters), and I stream TV
Channels around the house via Tvheadend.

Since linux kernel v6.5 onwards I noticed a bad performance regression
whereby the streams are basically unstable. There are tons of
continuity errors in the Tvheadend logfile, and the picture and sound
are badly broken up as though the system is throttled or does not have
the bandwidth to cope with the streams.

Sometimes the stream will work for a minute or so after reboot, before
then becoming unstable, and then seems to remain unstable until the
next cold reboot.

I dropped back to v6.1 LTS (where everything is fine) and re-tested
following the release of v6.6...
...the problem had not gone away so I performed a git bisect to
identify the culprit and found this to be:

804951203aa541ad6720c9726c173d18aeb3ab6b: platform/x86:intel/pmc:
Combine core_init() and core_configure()

I can work around the issue by either reverting this commit or by
disabling CONFIG_INTEL_PMC_CORE and rebuilding the kernel manually,
either of which results in perfect DVB streaming once more.

Happy to test any potential patches or otherwise provide further
information as required.


James.