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

Re: [Xen-devel] [RFC 5/6] arm64: call enter_hypervisor_head only when it is needed




On 26.07.19 13:59, Julien Grall wrote:
Hi,

On 26/07/2019 11:37, Andrii Anisov wrote:
From: Andrii Anisov <andrii_anisov@xxxxxxxx>

On ARM64 we know exactly if trap happened from hypervisor or guest, so
we do not need to take that decision. This reduces a condition for
all enter_hypervisor_head calls and the function call for traps from
the hypervisor mode.

One condition lost but ...

...In the hot path (actually at any trap).
And the function call for traps from hyp.

Currently, it is implemented for ARM64 only. Integrating the stuff
with ARM32 requires moving ` if ( guest_mode(regs) )` condition
into ARM32 specific traps.

... one more divergence between arm32 and arm64.

There are probably dozens of more conditions in the code that are not necessary 
for one of the architectures.
Yet there are value to keep everything common because the benefits outweigh the 
likely non performance improvement.

I'm not seeing any benefits in calling `enter_hypervisor_head()` from functions 
named `do_trap_hyp_*`. That code is confusing for me.
IMHO, dividing `do_trap_irq/fiq()` into guest and hyp specific functions is not 
a big deal. Even for ARM32. Moreover, it will make more obvious the fact that 
nothing from `enter_hypervisor_head()` is done for IRQ traps taken from hyp.

So I am not convinced that this has any value for Xen.

OK, I wouldn't insist.

--
Sincerely,
Andrii Anisov.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.