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

Re: [Xen-devel] Xen ARM community call - meeting minutes and date for the next one



Hi Julien,

5pm UTC+1 will be fine for me.

I just finished my EL0 PoC and want to share benchmark results.

My benchmark setup is primitive, but results are reproducible. I have
wrote small driver that calls SMC 10.000.000  times in a loop. So,
benchmark looks like this:

root@xenaarch64:~# time cat /proc/smc_test
 Will call SMC 10000000 time(s)
Done!

real 1m51.428s
user 0m0.020s
sys 1m51.240s

I compared three types of SMC "handlers":

1. Right in hypervisor. I lust put `advance_pc` into the
`do_trap_smc()`. This is the base.
2. Handling in MiniOS, using `monitor.c` framework.
3. Handling in EL0 XEN application.

In all three cases there was no actual handling. Just variants of `return 0;`.
Results:

1. Hypervisor:
    real 0m10.757s
    user 0m0.000s
    sys 0m10.752s

    10.757s = 1x (base value)
    1.07us per call

2. MiniOs:
    real 1m51.428s
    user 0m0.020s
    sys 1m51.240s

    111.428s = 10.35x slower than hypervisor handler
    11.1us per call

3. EL0:
    real 1m3.525s
    user 0m0.000s
    sys 1m3.516s

    63.525s = 5.9x slower than hypervisor handler
    6.35us par call

As you can see, handling in hypervisor mode is obviously the fastest
way. In my first implementation EL0 approach was as slow as MiniOs.
Then I simplified context switching (for example we don't need to
save/restore GIC context). That gave me 1.7x boost. Now profiler shows
that hypervisor spends time in spinlocks and p2m code. But, anyways,
10 000 000 traps in 60 seconds is a good result :)

Testing was done on Renesas H3 board with 4xA57 cores.

On 28 March 2017 at 18:23, Julien Grall <julien.grall@xxxxxxx> wrote:
> Hi all,
>
> Apologies for the late sending, you will find at the end of the e-mail a
> summary of the discussion from the previous call. Feel free to reply if I
> missed some parts.
>
> I suggest to have the next call on the 5th April at 5PM UTC. Any opinions?
>
> Also do you have any specific topic you would like to talk during this call?
>
> Cheers,
>
> == Attendees ==
>
> Apologies if I misspelled any name.
>
> Stefano, Aporeto
> Julien, ARM
> Oleksandr, EPAM
> Artem, EPAM
> Thanasis, OnApp
> Volodymir, EPAM
>
> == Xen on ARM status ==
>
> Over 100 patches in-flight for Xen on ARM:
>     - PV protocols: Some are already accepted
>     - NUMA support
>     - GICv3 ITS support
>     - Exposing and emulating a PL011 for guest
>     - guest SMC forwarding for Xilinx platform
>     - Interrupt latency improvement
>
> == PV protocols ==
>
> * PV protocols written by Stefano was merged after 10 months
>
> Stefano: PV protocols review are moving faster
> Attendees agreed
>
> * Audio protocol: close to be accepted
> * Display protocol: minor issue, a bit more design is required
>
> Hopefully both will be ready for Xen 4.9
>
> Oleksandr: What to do when the backend die?
>
> (I cannot find any notes on it some I am not sure if we answered the question
> during the call. I suspect it has been asked to bring up the subject on the 
> ML).
>
> == Interrupt latency ==
>
> Stefano: Some improvement has been done but it is not possible to know whether
> it is good. Do you have any specific IRQ latency requirements?
>
> Artem: There is no hard latency requirements in automotive, although many
> requirements depends on latency. For example:
>     * Scheduling
>     * GPU (implementation is sentive to interrupt latency)
>
> Automotive is using a set of benchmark to find the virtualization overhead. 
> This
> should be low.
>
> ACTION: Artem to send a list of benchmark
>
> == SMC/HVC handling in Xen ==
>
> Artem: Please review the proposal on the mailing list. See:
>
> https://lists.xenproject.org/archives/html/xen-devel/2017-03/msg00430.html
>
> == Deprivilege mode ==
>
> EPAM are working on adding support for OP-TEE in Xen to allow multiple guest
> access the trusted firmware.
>
> During the discussion on the design, it was suggested to move the SMC handling
> in a separate domain. This was tested using the VM event API and Mini-OS
> (upstream with Chen Baozi's series to support ARM64). The first results
> shows it is 10 times slower than handling SMC calls directly in the 
> hypervisor.
>
> Volodymir is working on another approach to deprivilege the execution by
> implementing a Xen EL0.
>
> == big.LITTLE support ==
>
> Thanasis: Document discussed on the ML. Xen will split CPUs at boot time
> (big vs little). A series will be sent on the on the ML soon.
>
> --
> Julien Grall



-- 
WBR Volodymyr Babchuk aka lorc [+380976646013]
mailto: vlad.babchuk@xxxxxxxxx

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

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