[Bug 218739] pmu_counters_test kvm-selftest fails with (count != NUM_INSNS_RETIRED)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=218739

--- Comment #5 from mlevitsk@xxxxxxxxxx ---
I tested several approaches to eliminate the issue, but none of them seem to be
very robust.

In particular:
 - I tried to clflush a global memory location outside of the loop, then access
it.
   0 LLC misses still happen, once in a while.

 - I also tried to access a location on the stack.
   Here the test started failing on INTEL_ARCH_TOPDOWN_SLOTS_INDEX sometimes,
   I am not sure why. I did push/pop, maybe ucode is smart enough to elide
this?


I now found a new and a more or less robust solution, which is to clflush on
each loop iteration.

That both increases the chances of at least one clflush working and it should
also confuse the speculation code enough.

It survived about 4 hours of testing.

I attached a draft patch with this solution, if you think that it is
reasonable, I'll send it to LKML.

Note that I dropped the mfence instruction thinking that it doesn't help much
since it helps with memory loads/stores while we clflush the memory which is
fetched for code execution.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux