[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 6/9] gitlab-ci: Split gprof-gcov job
From: |
Alex Bennée |
Subject: |
Re: [PATCH 6/9] gitlab-ci: Split gprof-gcov job |
Date: |
Thu, 27 May 2021 14:04:49 +0100 |
User-agent: |
mu4e 1.5.13; emacs 28.0.50 |
Thomas Huth <thuth@redhat.com> writes:
> On 25/05/2021 12.21, Philippe Mathieu-Daudé wrote:
>> On 5/25/21 10:25 AM, Philippe Mathieu-Daudé wrote:
>>> This job is hitting the 70min limit, so split it in 2 tasks.
>>>
>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>> ---
>>> .gitlab-ci.d/buildtest.yml | 17 ++++++++++++++---
>>> 1 file changed, 14 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
>>> index f903fdea3f4..894732e203d 100644
>>> --- a/.gitlab-ci.d/buildtest.yml
>>> +++ b/.gitlab-ci.d/buildtest.yml
>>> @@ -564,16 +564,27 @@ check-deprecated:
>>> allow_failure: true
>>> # gprof/gcov are GCC features
>>> -gprof-gcov:
>>> +build-gprof-gcov:
>>> extends: .native_build_job_template
>>> needs:
>>> job: amd64-ubuntu2004-container
>>> variables:
>>> IMAGE: ubuntu2004
>>> CONFIGURE_ARGS: --enable-gprof --enable-gcov
>>> - MAKE_CHECK_ARGS: check
>>> TARGETS: aarch64-softmmu ppc64-softmmu s390x-softmmu x86_64-softmmu
>>> - timeout: 70m
>>> + artifacts:
>>> + expire_in: 1 days
>>> + paths:
>>> + - build
>> FYI this job takes 28min:
>> https://gitlab.com/philmd/qemu/-/jobs/1290778672
>>
>>> +
>>> +check-gprof-gcov:
>>> + extends: .native_test_job_template
>>> + needs:
>>> + - job: build-gprof-gcov
>>> + artifacts: true
>>> + variables:
>>> + IMAGE: ubuntu2004
>>> + MAKE_CHECK_ARGS: check
>>> after_script:
>>> - ${CI_PROJECT_DIR}/scripts/ci/coverage-summary.sh
>> and this one 23min:
>> https://gitlab.com/philmd/qemu/-/jobs/1290778751
>
> So why are they taking less than 70 minutes when split in two parts,
> but are exceeding the 70 minutes when done in one job?
> That does not make sense...
The time just seems to be highly variable. Normally I see succeeding
runs take ~40 minutes. I suspect there is some aspect of the profiling
code that interacts poorly under load leading to much longer runtimes.
--
Alex Bennée