From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
qemu-devel@nongnu.org,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Stefan Weil" <sw@weilnetz.de>,
"Yonggang Luo" <luoyonggang@gmail.com>
Subject: Re: [RFC PATCH 5/6] include/qemu/compiler: Fix problem with gcc_struct and Clang
Date: Thu, 3 Aug 2023 17:29:42 +0100 [thread overview]
Message-ID: <ZMvV9h6AtxeuR4Kn@redhat.com> (raw)
In-Reply-To: <925f0feb-b3c1-685e-1261-243963f232f6@redhat.com>
On Mon, Jul 31, 2023 at 02:04:42PM +0200, Thomas Huth wrote:
> On 31/07/2023 11.32, Daniel P. Berrangé wrote:
> > On Mon, Jul 31, 2023 at 11:10:58AM +0200, Thomas Huth wrote:
> ...
> > > Or do you see another possibility how we could fix that timeout problem in
> > > the 64-bit MSYS2 job? Still switching to clang, but compiling with
> > > --extra-cflags="-Wno-unknown-attributes" maybe?
> >
> > I was surprised to see that we're not using ccache in gitlab CI. It wouldn't
> > help the from-clean compile time, but thereafter it ought to help. I'm doing
> > some tests with that to see the impact.
>
> I tried that two years ago, but the results were rather disappointing:
>
> https://lists.nongnu.org/archive/html/qemu-devel/2021-04/msg02189.html
>
> ... but that was only with the Linux runners. Maybe it helps with the MSYS
> runners?
I've done some tests over the last few days and my results are
rather different. The speed up is *spectacular* if the hit rate
is high.
eg, consider you are retriggering broadly the same pipeline over &
over with iterations of your patches. eg 99% of the QEMU code
probably doesn't change as you're just re-trying to fix some edge
case in 1 file, and thus you'll get near 100% hit rate.
With such a case I see:
The msys64 job can complete in 24 minutes, instead of 50-60 minutes
The build-system-fedora job can complete in 6 minutes instead of 20
minutes
The build-user-hexagon job can cmplete in 3 minutes instead of 6
Basically a 50% cut in time on all compile jobs I've looked at
so far.
NB, these are both shared runners, since the pipeline is in my
fork. I've no idea what the impact will be on the Azure private
runners for upstream.
Given the CI limitations these days, such a speedup is massively
beneficial for our contributors though.
The downside is storage for the cache. In theory gitlab has defined
a quota for storage per account. In practice they are still yet to
enforce that. If they do ever enforce it, we're likely doomed as
our container images alone will exceed it several times over, let
alone leave room for build logs, job caches, artifacts, etc. While
storage quota isn't enforced though, we might as well use ccache.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2023-08-03 16:30 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-28 14:27 [RFC PATCH 0/6] Use Clang for compiling in the 64-bit MSYS2 job Thomas Huth
2023-07-28 14:27 ` [RFC PATCH 1/6] gitlab: remove duplication between msys jobs Thomas Huth
2023-07-28 14:27 ` [RFC PATCH 2/6] ui/dbus: fix clang compilation issue Thomas Huth
2023-07-28 14:27 ` [RFC PATCH 3/6] util/oslib-win32: Fix compiling with Clang from MSYS2 Thomas Huth
2023-07-31 14:20 ` Philippe Mathieu-Daudé
2023-07-28 14:27 ` [RFC PATCH 4/6] hw/i386/intel_iommu: Fix VTD_IR_TableEntry for ms_struct layout Thomas Huth
2023-07-28 14:37 ` Daniel P. Berrangé
2023-07-28 16:39 ` Richard Henderson
2023-07-31 8:20 ` Thomas Huth
2023-07-31 20:26 ` Peter Xu
2023-07-31 20:53 ` Michael S. Tsirkin
2023-07-28 14:27 ` [RFC PATCH 5/6] include/qemu/compiler: Fix problem with gcc_struct and Clang Thomas Huth
2023-07-28 15:13 ` Peter Maydell
2023-07-31 9:10 ` Thomas Huth
2023-07-31 9:32 ` Daniel P. Berrangé
2023-07-31 12:04 ` Thomas Huth
2023-08-03 16:29 ` Daniel P. Berrangé [this message]
2023-07-31 14:10 ` Philippe Mathieu-Daudé
2023-07-31 17:25 ` Daniel P. Berrangé
2023-08-01 13:29 ` Philippe Mathieu-Daudé
2023-07-31 10:05 ` Peter Maydell
2023-07-31 12:05 ` Thomas Huth
2023-07-31 12:44 ` Daniel P. Berrangé
2023-08-01 13:49 ` Daniel P. Berrangé
2023-08-01 18:31 ` Thomas Huth
2023-07-31 12:57 ` Daniel P. Berrangé
2023-07-31 14:07 ` Philippe Mathieu-Daudé
2023-07-28 14:27 ` [RFC PATCH 6/6] gitlab-ci.d/windows: Use Clang for compiling in the 64-bit MSYS2 job Thomas Huth
2023-07-31 14:23 ` Philippe Mathieu-Daudé
2023-07-31 14:43 ` Thomas Huth
2023-08-01 13:30 ` Philippe Mathieu-Daudé
2023-08-01 13:35 ` [RFC PATCH 0/6] " Daniel P. Berrangé
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=ZMvV9h6AtxeuR4Kn@redhat.com \
--to=berrange@redhat.com \
--cc=luoyonggang@gmail.com \
--cc=marcandre.lureau@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=sw@weilnetz.de \
--cc=thuth@redhat.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).