qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* Performance improvement with 58a2e3f5c37be02dac3086b81bdda9414b931edf
@ 2023-05-16 12:54 Lukáš Doktor
  2023-05-16 13:19 ` Stefan Hajnoczi
  0 siblings, 1 reply; 4+ messages in thread
From: Lukáš Doktor @ 2023-05-16 12:54 UTC (permalink / raw)
  To: Stefan Hajnoczi, qemu-devel


[-- Attachment #1.1.1: Type: text/plain, Size: 617 bytes --]

Hello Stefan, folks,

the perf-ci detected and bisected the 58a2e3f5c37 - block: compile out assert_bdrv_graph_readable() by default - as a performance improvement especially with 4K reads with multiple jobs (but minor improvements were observed in other variants)

    https://ldoktor.github.io/tmp/RedHat-virtlab722/v8.0.0/140-improvement.html

Based on the commit message I guess it's expected so take this just as a record of improvement.

Regards,
Lukáš

PS: The list of perf-ci issues is available here: https://docs.google.com/spreadsheets/d/1HEXI5wDsNgAIgXl5MIhGond898Vz5A1Hrkl0lZmWEbg/edit#gid=0

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 12925 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Performance improvement with 58a2e3f5c37be02dac3086b81bdda9414b931edf
  2023-05-16 12:54 Performance improvement with 58a2e3f5c37be02dac3086b81bdda9414b931edf Lukáš Doktor
@ 2023-05-16 13:19 ` Stefan Hajnoczi
  2023-05-16 13:36   ` Lukáš Doktor
  0 siblings, 1 reply; 4+ messages in thread
From: Stefan Hajnoczi @ 2023-05-16 13:19 UTC (permalink / raw)
  To: Lukáš Doktor; +Cc: Stefan Hajnoczi, qemu-devel

On Tue, 16 May 2023 at 08:56, Lukáš Doktor <ldoktor@redhat.com> wrote:
>
> Hello Stefan, folks,
>
> the perf-ci detected and bisected the 58a2e3f5c37 - block: compile out assert_bdrv_graph_readable() by default - as a performance improvement especially with 4K reads with multiple jobs (but minor improvements were observed in other variants)
>
>     https://ldoktor.github.io/tmp/RedHat-virtlab722/v8.0.0/140-improvement.html

Thanks, that's good to know. How much improvement was there? I don't
understand how to read the report that you linked to.

Stefan

>
> Based on the commit message I guess it's expected so take this just as a record of improvement.
>
> Regards,
> Lukáš
>
> PS: The list of perf-ci issues is available here: https://docs.google.com/spreadsheets/d/1HEXI5wDsNgAIgXl5MIhGond898Vz5A1Hrkl0lZmWEbg/edit#gid=0


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Performance improvement with 58a2e3f5c37be02dac3086b81bdda9414b931edf
  2023-05-16 13:19 ` Stefan Hajnoczi
@ 2023-05-16 13:36   ` Lukáš Doktor
  2023-05-16 13:38     ` Stefan Hajnoczi
  0 siblings, 1 reply; 4+ messages in thread
From: Lukáš Doktor @ 2023-05-16 13:36 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: Stefan Hajnoczi, qemu-devel


[-- Attachment #1.1.1: Type: text/plain, Size: 3738 bytes --]

Dne 16. 05. 23 v 15:19 Stefan Hajnoczi napsal(a):
> On Tue, 16 May 2023 at 08:56, Lukáš Doktor <ldoktor@redhat.com> wrote:
>>
>> Hello Stefan, folks,
>>
>> the perf-ci detected and bisected the 58a2e3f5c37 - block: compile out assert_bdrv_graph_readable() by default - as a performance improvement especially with 4K reads with multiple jobs (but minor improvements were observed in other variants)
>>
>>     https://ldoktor.github.io/tmp/RedHat-virtlab722/v8.0.0/140-improvement.html
> 
> Thanks, that's good to know. How much improvement was there? I don't
> understand how to read the report that you linked to.
> 

Hello Stefan,

the linked report is a bisection report that shows how the throughput evolved throughout the bisection. I only used a single test:

    TunedLibvirt/fio-nvme-Aj-4i/0000:./read-4KiB/throughput/iops_sec.mean

to bisect and the commit shas are presented in 3-letter format in table header (sorted by "git log" order). There should be full-sha on hover, but this is currently broken and I haven't had time to fix that yet so one has to map these using bisect log:

git bisect start
# good: [271477b59e723250f17a7e20f139262057921b6a] Merge tag 'compression-code-pull-request' of https://gitlab.com/juan.quintela/qemu into staging
git bisect good 271477b59e723250f17a7e20f139262057921b6a
# bad: [d530697ca20e19f7a626f4c1c8b26fccd0dc4470] Merge tag 'pull-testing-updates-100523-1' of https://gitlab.com/stsquad/qemu into staging
git bisect bad d530697ca20e19f7a626f4c1c8b26fccd0dc4470
# good: [69aa0d371f67b1c042ed4f3ff4a481d561b54d21] nbd: Mark nbd_co_do_establish_connection() and callers GRAPH_RDLOCK
git bisect good 69aa0d371f67b1c042ed4f3ff4a481d561b54d21
# good: [3217b84f3cd813a7daffc64b26543c313f3a042a] tests/docker: bump the xtensa base to debian:11-slim
git bisect good 3217b84f3cd813a7daffc64b26543c313f3a042a
# good: [e19b157f3c66c44e3b89cb50a2030f0187b968e9] block: Mark bdrv_refresh_limits() and callers GRAPH_RDLOCK
git bisect good e19b157f3c66c44e3b89cb50a2030f0187b968e9
# good: [2cf72cb5eb690b55974b4ace5ee42c22ace3fa8e] gitlab: enable minimal device profile for aarch64 --disable-tcg
git bisect good 2cf72cb5eb690b55974b4ace5ee42c22ace3fa8e
# bad: [caa9cbd566877b34e9abcc04d936116fc5e0ab28] Merge tag 'for-upstream' of https://repo.or.cz/qemu/kevin into staging
git bisect bad caa9cbd566877b34e9abcc04d936116fc5e0ab28
# bad: [58a2e3f5c37be02dac3086b81bdda9414b931edf] block: compile out assert_bdrv_graph_readable() by default
git bisect bad 58a2e3f5c37be02dac3086b81bdda9414b931edf
# first bad commit: [58a2e3f5c37be02dac3086b81bdda9414b931edf] block: compile out assert_bdrv_graph_readable() by default

In the report you can see that commits 271..2cf scored between -0.6 - 2.1 and commits 58a..d53 scored 4.1 - 6.4.


Anyway from the regular pipelines I can say that:

NVMe (RHEL9):
* TunedLibvirt/fio-nvme-Aj-4i/0000:./read-4KiB/throughput/iops_sec.mean improved about 5%
* TunedLibvirt/fio-nvme-1j-1i/0000:./read-4KiB/throughput/iops_sec.mean improved about 3-4% and is slightly more jittery than before

Rotational disk (RHEL8):
* TunedLibvirt/fio-rot-Aj-8i/0000:./read-1024KiB/throughput/iops_sec.mean improved about 5%
* TunedLibvirt/fio-rot-Aj-8i/0000:./write-1024KiB/throughput/iops_sec.mean improved about 5%

other cases are within the usual jittery and I haven't noticed regressions in any cases.

Regards,
Lukáš

> Stefan
> 
>>
>> Based on the commit message I guess it's expected so take this just as a record of improvement.
>>
>> Regards,
>> Lukáš
>>
>> PS: The list of perf-ci issues is available here: https://docs.google.com/spreadsheets/d/1HEXI5wDsNgAIgXl5MIhGond898Vz5A1Hrkl0lZmWEbg/edit#gid=0
> 

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 12925 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Performance improvement with 58a2e3f5c37be02dac3086b81bdda9414b931edf
  2023-05-16 13:36   ` Lukáš Doktor
@ 2023-05-16 13:38     ` Stefan Hajnoczi
  0 siblings, 0 replies; 4+ messages in thread
From: Stefan Hajnoczi @ 2023-05-16 13:38 UTC (permalink / raw)
  To: Lukáš Doktor; +Cc: Stefan Hajnoczi, qemu-devel

Thanks!

Stefan


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-05-16 13:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-16 12:54 Performance improvement with 58a2e3f5c37be02dac3086b81bdda9414b931edf Lukáš Doktor
2023-05-16 13:19 ` Stefan Hajnoczi
2023-05-16 13:36   ` Lukáš Doktor
2023-05-16 13:38     ` Stefan Hajnoczi

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