Messages in this thread Patch in this message | | | Date | Tue, 7 Oct 2014 14:47:58 +0200 | From | Peter Zijlstra <> | Subject | Re: [tip:perf/core] perf/x86: Tone down kernel messages when the PMU check fails in a virtual environment |
| |
On Mon, Oct 06, 2014 at 02:10:23PM -0700, Andy Lutomirski wrote: > On 10/02/2014 10:28 PM, tip-bot for Wei Huang wrote: > > msr_fail: > > printk(KERN_CONT "Broken PMU hardware detected, using software events only.\n"); > > - printk(KERN_ERR "Failed to access perfctr msr (MSR %x is %Lx)\n", reg, val_new); > > + printk(boot_cpu_has(X86_FEATURE_HYPERVISOR) ? KERN_INFO : KERN_ERR > > + "Failed to access perfctr msr (MSR %x is %Lx)\n", reg, val_new); > > > > This is bogus. String concatenation doesn't work like that. > > Try "%sFailed...", boot_cpu_has(X86_FEATURE_HYPERVISOR) ? KERN_ERR : > KERN_INFO), etc.
Haha, indeed. The hypervisor message is empty in this case. Wei, test this much? ;-)
--- Subject: perf: Fix bogus kernel printk
Andy spotted the fail in what was intended as a conditional printk level.
Fixes: cc6cd47e7395 ("perf/x86: Tone down kernel messages when the PMU check fails in a virtual environment") Reported-by: Andy Lutomirski <luto@amacapital.net> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> --- arch/x86/kernel/cpu/perf_event.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
--- a/arch/x86/kernel/cpu/perf_event.c +++ b/arch/x86/kernel/cpu/perf_event.c @@ -243,8 +243,9 @@ static bool check_hw_exists(void) msr_fail: printk(KERN_CONT "Broken PMU hardware detected, using software events only.\n"); - printk(boot_cpu_has(X86_FEATURE_HYPERVISOR) ? KERN_INFO : KERN_ERR - "Failed to access perfctr msr (MSR %x is %Lx)\n", reg, val_new); + printk("%sFailed to access perfctr msr (MSR %x is %Lx)\n", + boot_cpu_has(X86_FEATURE_HYPERVISOR) ? KERN_INFO : KERN_ERR, + reg, val_new); return false; }
| |