public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] KVM: x86/vPMU: refine kvm_pmu err msg when event creation failed
@ 2019-07-18  4:49 Like Xu
  2019-07-18  5:18 ` Joe Perches
  0 siblings, 1 reply; 3+ messages in thread
From: Like Xu @ 2019-07-18  4:49 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: kvm, Gleb Natapov, like.xu, linux-kernel

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.

Signed-off-by: Like Xu <like.xu@linux.intel.com>
---
 arch/x86/kvm/pmu.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kvm/pmu.c b/arch/x86/kvm/pmu.c
index aa5a2597305a..259ada8d6db6 100644
--- 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);
 		return;
 	}
 
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] KVM: x86/vPMU: refine kvm_pmu err msg when event creation failed
  2019-07-18  4:49 [PATCH] KVM: x86/vPMU: refine kvm_pmu err msg when event creation failed Like Xu
@ 2019-07-18  5:18 ` Joe Perches
  2019-07-18  5:45   ` Like Xu
  0 siblings, 1 reply; 3+ messages in thread
From: Joe Perches @ 2019-07-18  5:18 UTC (permalink / raw)
  To: Like Xu, Paolo Bonzini, Avi Kivity
  Cc: kvm, Gleb Natapov, like.xu, linux-kernel

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.

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

		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@redhat.com/



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] KVM: x86/vPMU: refine kvm_pmu err msg when event creation failed
  2019-07-18  5:18 ` Joe Perches
@ 2019-07-18  5:45   ` Like Xu
  0 siblings, 0 replies; 3+ messages in thread
From: Like Xu @ 2019-07-18  5:45 UTC (permalink / raw)
  To: Joe Perches, Paolo Bonzini, Avi Kivity
  Cc: kvm, Gleb Natapov, like.xu, linux-kernel

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@redhat.com >>
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-07-18  5:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-07-18  4:49 [PATCH] KVM: x86/vPMU: refine kvm_pmu err msg when event creation failed Like Xu
2019-07-18  5:18 ` Joe Perches
2019-07-18  5:45   ` Like Xu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox