xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Andrii Anisov <andrii.anisov@gmail.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: nd@arm.com, andrii_anisov@epam.com,
	Milan Boberic <milanboberic94@gmail.com>,
	Dario Faggioli <dfaggioli@suse.com>,
	Julien Grall <julien.grall@arm.com>,
	Meng Xu <xumengpanda@gmail.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: Re: Xen optimization
Date: Mon, 10 Dec 2018 12:58:20 +0200	[thread overview]
Message-ID: <bb88ca15-381c-014c-2f6c-e5de33b4b15a@gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.10.1811271320170.4577@sstabellini-ThinkPad-X260>

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):

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.

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



[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

  parent reply	other threads:[~2018-12-10 10:58 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-09 10:59 Xen optimization Milan Boberic
2018-10-09 16:46 ` Dario Faggioli
2018-10-10 11:22   ` Milan Boberic
2018-10-10 11:25     ` Milan Boberic
2018-10-10 16:41     ` Meng Xu
2018-10-11  7:36       ` Milan Boberic
2018-10-11 12:17         ` Milan Boberic
2018-10-11 17:05           ` Dario Faggioli
2018-10-11 15:39         ` Meng Xu
2018-10-11 22:29         ` Stefano Stabellini
2018-10-12 15:33           ` Milan Boberic
2018-10-12 16:36             ` Julien Grall
2018-10-12 17:43             ` Stefano Stabellini
2018-10-13 16:01               ` Milan Boberic
2018-10-14 22:46                 ` Stefano Stabellini
2018-10-15 12:27                   ` Milan Boberic
2018-10-16  7:13                     ` Stefano Stabellini
2018-10-15  8:14                 ` Julien Grall
2018-10-15 12:50                   ` Julien Grall
2018-10-15 13:01                     ` Milan Boberic
2018-10-15 13:03                       ` Julien Grall
2018-10-17 15:19                         ` Milan Boberic
2018-10-19 21:02                           ` Stefano Stabellini
2018-10-19 22:41                             ` Dario Faggioli
2018-10-22 15:02                               ` Milan Boberic
2018-10-22 17:52                                 ` Stefano Stabellini
2018-10-23  8:58                                   ` Milan Boberic
2018-10-24  0:24                                     ` Stefano Stabellini
2018-10-25 10:09                                       ` Milan Boberic
2018-10-25 11:30                                         ` Julien Grall
2018-10-25 12:36                                           ` Milan Boberic
2018-10-25 13:44                                             ` Dario Faggioli
2018-10-25 14:00                                               ` Julien Grall
2018-10-25 14:04                                             ` Julien Grall
2018-10-25 14:47                                               ` Milan Boberic
2018-10-25 14:51                                                 ` Julien Grall
2018-10-25 16:18                                                   ` Xen optimizationcy Stefano Stabellini
2018-10-25 11:09                                       ` Xen optimization Julien Grall
2018-10-25 16:15                                         ` Stefano Stabellini
2018-10-26 19:12                                           ` Julien Grall
2018-10-26 20:41                                             ` Stefano Stabellini
2018-10-29 12:29                                               ` Milan Boberic
2018-10-31 18:59                                                 ` Julien Grall
2018-10-31 20:35                                                   ` Milan Boberic
2018-10-31 21:16                                                     ` Julien Grall
2018-11-01 20:20                                                       ` Stefano Stabellini
2018-11-01 20:35                                                         ` Julien Grall
2018-11-20 11:33                                                         ` Andrii Anisov
2018-11-27 21:27                                                           ` Stefano Stabellini
2018-11-29  8:19                                                             ` Andrii Anisov
2018-12-10 10:58                                                             ` Andrii Anisov [this message]
2018-12-10 11:54                                                               ` Julien Grall
2018-12-10 12:23                                                                 ` Andrii Anisov
2018-12-11 12:27                                                                   ` Julien Grall
2018-12-11 16:56                                                                     ` Dario Faggioli
2018-12-12  9:39                                                                       ` Andrii Anisov
2018-12-12 17:10                                                                         ` Dario Faggioli
2018-12-12 17:32                                                                           ` Andrii Anisov
2018-12-12 17:59                                                                             ` Dario Faggioli
2018-12-13  7:48                                                                               ` Andrii Anisov
2018-12-11 18:39                                                                     ` Stefano Stabellini
2018-12-11 19:05                                                                       ` Julien Grall
2018-12-11 19:29                                                                         ` Stefano Stabellini
2018-12-12  9:46                                                                           ` Andrii Anisov
2018-12-12 10:41                                                                             ` Andrii Anisov
2018-12-12 17:39                                                                               ` Stefano Stabellini
2018-12-12 17:47                                                                                 ` Andrii Anisov
2018-12-12 18:01                                                                                   ` Stefano Stabellini
2018-12-12  9:34                                                                     ` Andrii Anisov
2018-11-07 13:14   ` Julien Grall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bb88ca15-381c-014c-2f6c-e5de33b4b15a@gmail.com \
    --to=andrii.anisov@gmail.com \
    --cc=andrii_anisov@epam.com \
    --cc=dfaggioli@suse.com \
    --cc=julien.grall@arm.com \
    --cc=milanboberic94@gmail.com \
    --cc=nd@arm.com \
    --cc=sstabellini@kernel.org \
    --cc=stefano.stabellini@xilinx.com \
    --cc=xen-devel@lists.xenproject.org \
    --cc=xumengpanda@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).