On Thu, Feb 20, 2020 at 02:21:36PM +0000, Marc Zyngier wrote:
On 2020-02-19 15:24, minyard@xxxxxxx wrote:
> From: Corey Minyard <cminyard@xxxxxxxxxx>
[...]
> After studying the EL0 handling for this, I realized an issue with using
> MDSCR to check if single step is enabled: it can be expensive on a VM.
> So check the task flag first to see if single step is enabled. Then
> check MDSCR if the task flag is set.
Very tangential remark: I'd really like people *not* to try and optimize
Linux based on the behaviour of a hypervisor. In general, reading a
system register is fast, and the fact that it traps on a given hypervisor
at some point may not be true in the future, nor be a valid assumption
across hypervisors.
Normally I would agree, but I based this upon git commit
https://github.com/torvalds/linux/commit/2a2830703a2371b47f7b50b1d35cb15dc0e2b717
which seemed to say that it was a significant enough factor to do in the
EL0 case.