Re: [BUG/RFC] perf test fails on AMD CPUs

From: Borislav Petkov
Date: Wed Aug 19 2015 - 11:46:59 EST


On Wed, Aug 19, 2015 at 10:55:46AM +0200, Jiri Olsa wrote:
> this is the perf breakpoint address:
> 000000000045b260 <test_function>:
>
> this is trace_printk output for NEW microcode 0x6000832:
>
> DEBUG EX
> perf-893 [003] d... 1358.053633: sync_regs: sync_regs eregs ffff88012ecc7f58, regs ffff8800c9f1bf58
> perf-893 [003] d... 1358.053635: do_debug: do_debug-1 regs ffff8800c9f1bf58, eflags 217, rip 45b260
> perf-893 [003] d.h. 1358.053641: do_debug: do_debug-2 eflags 10217, rip 45b260
> perf-893 [003] d... 1358.053642: prepare_exit_to_usermode: prepare_exit_to_usermode1 regs ffff8800c9f1bf58, eflags 10217, rip 45b260
> perf-893 [003] d... 1358.053643: prepare_exit_to_usermode: prepare_exit_to_usermode3 regs ffff8800c9f1bf58, eflags 10217, rip 45b260

Yikes!

Something cleared EFLAGS.RF here. And the same thing doesn't happen with
the older ucode version. Are you sure nothing happens in-between
prepare_exit_to_usermode() and smp_irq_work_interrupt()?

It looks like nothing does because the timestamps are really close.

> WORK_IRQ
> ---> perf-893 [003] d... 1358.053645: smp_irq_work_interrupt: smp_irq_work_interrupt1 regs ffff8800c9f1bf58, eflags 217, rip 45b260
> perf-893 [003] d.h. 1358.053650: perf_event_wakeup: irq_work SIGIO
> perf-893 [003] d... 1358.053651: smp_irq_work_interrupt: smp_irq_work_interrupt2 regs ffff8800c9f1bf58, eflags 217, rip 45b260
>
> perf-893 [003] d... 1358.053652: prepare_exit_to_usermode: prepare_exit_to_usermode1 regs ffff8800c9f1bf58, eflags 217, rip 45b260
>
>
> this is trace_printk output for OLD microcode 0x6000822:
>
> DEBUG EX
> perf-898 [005] d... 87.098816: sync_regs: sync_regs eregs ffff88012ed47f58, regs ffff8800c9c8ff58
> perf-898 [005] d... 87.098817: do_debug: do_debug-1 regs ffff8800c9c8ff58, eflags 217, rip 45b260
> perf-898 [005] d.h. 87.098823: do_debug: do_debug-2 eflags 10217, rip 45b260
> perf-898 [005] d... 87.098824: prepare_exit_to_usermode: prepare_exit_to_usermode1 regs ffff8800c9c8ff58, eflags 10217, rip 45b260
> perf-898 [005] d... 87.098825: prepare_exit_to_usermode: prepare_exit_to_usermode3 regs ffff8800c9c8ff58, eflags 10217, rip 45b260
>
> WORK_IRQ
> ---> perf-898 [005] d... 87.098827: smp_irq_work_interrupt: smp_irq_work_interrupt1 regs ffff8800c9c8ff58, eflags 10217, rip 45b260
> perf-898 [005] d.h. 87.098832: perf_event_wakeup: irq_work SIGIO
> perf-898 [005] d... 87.098833: smp_irq_work_interrupt: smp_irq_work_interrupt2 regs ffff8800c9c8ff58, eflags 10217, rip 45b260
>
> perf-898 [005] d... 87.098833: prepare_exit_to_usermode: prepare_exit_to_usermode1 regs ffff8800c9c8ff58, eflags 10217, rip 45b260

Thanks.

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.

SUSE Linux GmbH, GF: Felix ImendÃrffer, Jane Smithard, Graham Norton, HRB 21284 (AG NÃrnberg)
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/