Re: [PATCH] KVM: x86/vPMU: refine kvm_pmu err msg when event creation failed

From: Like Xu
Date: Thu Jul 18 2019 - 01:45:27 EST


Hi Joe,

On 2019/7/18 13:18, Joe Perches wrote:
On Thu, 2019-07-18 at 12:49 +0800, Like Xu wrote:
If a perf_event creation fails due to any reason of the host perf
subsystem, it has no chance to log the corresponding event for guest
which may cause abnormal sampling data in guest result. In debug mode,
this message helps to understand the state of vPMC and we should not
limit the number of occurrences.
[]
diff --git a/arch/x86/kvm/pmu.c b/arch/x86/kvm/pmu.c
[]
@@ -131,8 +131,8 @@ static void pmc_reprogram_counter(struct kvm_pmc *pmc, u32 type,
intr ? kvm_perf_overflow_intr :
kvm_perf_overflow, pmc);
if (IS_ERR(event)) {
- printk_once("kvm_pmu: event creation failed %ld\n",
- PTR_ERR(event));
+ pr_debug("kvm_pmu: event creation failed %ld\n for pmc->idx = %d",
+ PTR_ERR(event), pmc->idx);

Perhaps this was written as printk_once to avoid
spamming the log with repeated messages.

The spamming case in practice from this messages is very rare but it's logically possible.


Maybe this should use pr_debug_ratelimited.
(and it should also have a \n termination like:)

Thanks and it's my mistake, agree on '\n' usage.


pr_debug_ratelimited("kvm_pmu: event creation failed %ld for pmc->idx = %d\n",
PTR_ERR(event), pmc->idx);

Perhaps Avi Kivity remembers why he wrote it this way.
https://lore.kernel.org/kvm/1305129333-7456-6-git-send-email-avi@xxxxxxxxxx >>