[ops][nova] Quick show of hands: any use Intel (non-CMT) `perf` events?
Kashyap Chamarthy
kchamart at redhat.com
Thu Jul 4 10:31:48 UTC 2019
Heya folks,
While removing some dead code I was wondering if anyone here uses
"non-CMT" (Cache Monitoring Technology) performance events events? I'm
referring to the events here[0], besides the first three, which are
CMT-related.
Background
----------
The Intel CMT events (there are three of them) were deprecated during
the Rocky release, in this[1] commit, and with this rationale:
Upstream Linux kernel has deleted[*] the `perf` framework integration
with Intel CMT (Cache Monitoring Technology; or "CQM" in Linux kernel
parlance), because the feature was broken by design -- an
incompatibility between Linux's `perf` infrastructure and Intel CMT
hardware support. It was removed in upstream kernel version v4.14; but
bear in mind that downstream Linux distributions with lower kernel
versions than 4.14 have backported the said change.
Nova supports monitoring of the above mentioned Intel CMT events
(namely: 'cmt', 'mbm_local', and 'mbm_total') via the configuration
attribute `[libvirt]/enabled_perf_events`. Given that the underlying
Linux kernel infrastructure for Intel CMT is removed, we should remove
support for it in Nova too. Otherwise enabling them in Nova, and
updating to a Linux kernel 4.14 (or above) will result in instances
failing to boot.
To that end, deprecate support for the three Intel CMT events in
"Rocky" release, with the intention to remove support for it in
the upcoming "Stein" release. Note that we cannot deprecate /
remove `enabled_perf_events` config attribute altogether --
since there are other[+] `perf` events besides Intel CMT.
Whether anyone is using those other events with Nova is a good
question to which we don't have an equally good answer for, if
at all.
Now we're removing[2] support for CMT events altogether.
Question
--------
What I'm wondering now is the answer to the last sentence in the above
quoted commit: "Whether anyone is using those other events with Nova is
a good question to which we don't have an equally good answer for, if at
all".
If we know that "no one" (as if we can tell for sure) is using them, we
can get rid of more dead code.
So, any operators using the non-CMT events from here[0]?
[0] https://libvirt.org/formatdomain.html#elementsPerf
[1] https://opendev.org/openstack/nova/commit/fc4794acc6 —libvirt:
Deprecate support for monitoring Intel CMT `perf` events
[2] https://review.opendev.org/669129 — libvirt: Remove support for
Intel CMT `perf` event
--
/kashyap
More information about the openstack-discuss
mailing list