(sorry for the formatting)

On Mon, 10 Dec 2018, 12:00 Andrii Anisov, <andrii.ani...@gmail.com> wrote:

> Hello All,
>
> On 27.11.18 23:27, Stefano Stabellini wrote:
> > See the following:
> >
> > https://marc.info/?l=xen-devel&m=148668817704668
> So I did port that stuff to the current staging [1].
> Also, the correspondent tbm, itself is here [2].
> Having 4 big cores on my SoC I run XEN with the following command line:
>
>      dom0_mem=3G console=dtuart dtuart=serial0 dom0_max_vcpus=2
> bootscrub=0 loglvl=all cpufreq=none tbuf_size=8192 loglvl=all/none
> guest_loglvl=all/none
>
> The TBM's domain configuration file is as following:
>
>      seclabel='system_u:system_r:domU_t'
>      name = "DomP"
>      kernel = "/home/root/ctest-bare.bin"
>      extra = "console=hvc0 rw"
>      memory = 128
>      vcpus = 1
>      cpus = "3"
>
> This gives me setup where Domain-0 runs on cores 0 and 1 solely and TBM
> runs exclusively on core 3. So that we can rely that it shows us a pure IRQ
> latency of hypervisor.
> My board is Renesas Salvator-X with H3 ES3.0 SoC and 8GB RAM. Generic
> timer runs at 8.333 MHz freq, what gives my 120ns resolution for
> measurements.
> XEN hypervisor is build without debug and TBM does wfi in the idle loop
> for all experiments.
> With that setup IRQ latency numbers are (in ns):
>

What are the numbers without Xen? Which version of Xen are you using?



> Old vgic:
>                          AVG     MIN     MAX     WARM MAX
> credit, vwfi=trap       7706    7560    9480    8400
> credit, vwfi=native     2908    2880    3120    4800
> credit2, vwfi=trap      7221    7200    9240    7440
> credit2, vwfi=native    2906    2880    3120    5040
>
> New vgic:
>                          AVG     MIN     MAX     WARM MAX
> credit, vwfi=trap       8481    8040    10200   8880
> credit, vwfi=native     4115    3960    4800    4200
> credit2, vwfi=trap      8425    8400    9600    9000
> credit2, vwfi=native    4227    3960    5040    4680
>
> Here we can see that the new vgic underperforms the old one in a trivial
> use-case modeled with TBM.
>

The vwfi=trap does not look so bad (10%) but indeed the vwfi=native adds a
bigger overhead.
This also tells you that in the trap case the vGIC is not the bigger
overhead.

I am pretty sure that this can be optimized because we mostly focused on
reliability and specification compliance for the first draft.

So yes the old vGIC performs better but at the price of unreliability and
non-compliance.


> Old vgic with optimizations [3] (without [4], because it breaks the setup):
>                          AVG     MIN     MAX     WARM MAX
> credit, vwfi=trap       7309    7080    8760    7680
> credit, vwfi=native     3007    3000    4320    3120
> credit2, vwfi=trap      6877    6720    8880    7200
> credit2, vwfi=native    2680    2640    4440    2880
>

This is with all your series applied but [4], correct? Did you try to see
the perfomance improvement patch by patch?

Cheers



>
>
> [1] https://github.com/aanisov/xen/tree/4tbm
> [2] https://github.com/aanisov/tbm/commits/4xen
> [3]
> https://lists.xenproject.org/archives/html/xen-devel/2018-11/msg03328.html
> [4]
> https://lists.xenproject.org/archives/html/xen-devel/2018-11/msg03288.html
>
> --
> Sincerely,
> Andrii Anisov.
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xenproject.org
> https://lists.xenproject.org/mailman/listinfo/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to