[PATCH 5/6] gitlab-ci.d/buildtest: Merge the two gprof-gcov jobs

Thomas Huth posted 6 patches 2 years, 3 months ago
There is a newer version of this series
[PATCH 5/6] gitlab-ci.d/buildtest: Merge the two gprof-gcov jobs
Posted by Thomas Huth 2 years, 3 months ago
There is only one job depending on the build-gprof-gcov job, so
there is no real need for keeping this separate. It likely only
has been split since the complete runtime is more than 60 minutes,
but that can be better handled with a proper timeout setting instead.
By merging the two jobs, we safe some precious CI minutes for starting
a new container for the second job each time.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.d/buildtest.yml | 15 ++-------------
 1 file changed, 2 insertions(+), 13 deletions(-)

diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index 86f9c37a07..91c7467a66 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -468,26 +468,15 @@ tsan-build:
     MAKE_CHECK_ARGS: bench V=1
 
 # gprof/gcov are GCC features
-build-gprof-gcov:
+gprof-gcov:
   extends: .native_build_job_template
   needs:
     job: amd64-ubuntu2004-container
+  timeout: 80m
   variables:
     IMAGE: ubuntu2004
     CONFIGURE_ARGS: --enable-gprof --enable-gcov
     TARGETS: aarch64-softmmu ppc64-softmmu s390x-softmmu x86_64-softmmu
-  artifacts:
-    expire_in: 1 days
-    paths:
-      - build
-
-check-gprof-gcov:
-  extends: .native_test_job_template
-  needs:
-    - job: build-gprof-gcov
-      artifacts: true
-  variables:
-    IMAGE: ubuntu2004
     MAKE_CHECK_ARGS: check
   after_script:
     - cd build
-- 
2.31.1
Re: [PATCH 5/6] gitlab-ci.d/buildtest: Merge the two gprof-gcov jobs
Posted by Alex Bennée 2 years, 3 months ago
Thomas Huth <thuth@redhat.com> writes:

> There is only one job depending on the build-gprof-gcov job, so
> there is no real need for keeping this separate. It likely only
> has been split since the complete runtime is more than 60 minutes,
> but that can be better handled with a proper timeout setting instead.
> By merging the two jobs, we safe some precious CI minutes for starting
> a new container for the second job each time.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  .gitlab-ci.d/buildtest.yml | 15 ++-------------
>  1 file changed, 2 insertions(+), 13 deletions(-)
>
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index 86f9c37a07..91c7467a66 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -468,26 +468,15 @@ tsan-build:
>      MAKE_CHECK_ARGS: bench V=1
>  
>  # gprof/gcov are GCC features
> -build-gprof-gcov:
> +gprof-gcov:
>    extends: .native_build_job_template
>    needs:
>      job: amd64-ubuntu2004-container
> +  timeout: 80m
>    variables:
>      IMAGE: ubuntu2004
>      CONFIGURE_ARGS: --enable-gprof --enable-gcov
>      TARGETS: aarch64-softmmu ppc64-softmmu s390x-softmmu x86_64-softmmu
> -  artifacts:
> -    expire_in: 1 days
> -    paths:
> -      - build
> -
> -check-gprof-gcov:
> -  extends: .native_test_job_template
> -  needs:
> -    - job: build-gprof-gcov
> -      artifacts: true
> -  variables:
> -    IMAGE: ubuntu2004
>      MAKE_CHECK_ARGS: check
>    after_script:
>      - cd build

I'm tempted to deprecate gprof altogether as I find it hard to believe
anyone uses it when perf tools give you a much clearer indication of
where the bottlenecks are in "real world" environments.

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro
Re: [PATCH 5/6] gitlab-ci.d/buildtest: Merge the two gprof-gcov jobs
Posted by Thomas Huth 2 years, 3 months ago
On 30/01/2023 18.42, Alex Bennée wrote:
> 
> Thomas Huth <thuth@redhat.com> writes:
> 
>> There is only one job depending on the build-gprof-gcov job, so
>> there is no real need for keeping this separate. It likely only
>> has been split since the complete runtime is more than 60 minutes,
>> but that can be better handled with a proper timeout setting instead.
>> By merging the two jobs, we safe some precious CI minutes for starting
>> a new container for the second job each time.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   .gitlab-ci.d/buildtest.yml | 15 ++-------------
>>   1 file changed, 2 insertions(+), 13 deletions(-)
>>
>> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
>> index 86f9c37a07..91c7467a66 100644
>> --- a/.gitlab-ci.d/buildtest.yml
>> +++ b/.gitlab-ci.d/buildtest.yml
>> @@ -468,26 +468,15 @@ tsan-build:
>>       MAKE_CHECK_ARGS: bench V=1
>>   
>>   # gprof/gcov are GCC features
>> -build-gprof-gcov:
>> +gprof-gcov:
>>     extends: .native_build_job_template
>>     needs:
>>       job: amd64-ubuntu2004-container
>> +  timeout: 80m
>>     variables:
>>       IMAGE: ubuntu2004
>>       CONFIGURE_ARGS: --enable-gprof --enable-gcov
>>       TARGETS: aarch64-softmmu ppc64-softmmu s390x-softmmu x86_64-softmmu
>> -  artifacts:
>> -    expire_in: 1 days
>> -    paths:
>> -      - build
>> -
>> -check-gprof-gcov:
>> -  extends: .native_test_job_template
>> -  needs:
>> -    - job: build-gprof-gcov
>> -      artifacts: true
>> -  variables:
>> -    IMAGE: ubuntu2004
>>       MAKE_CHECK_ARGS: check
>>     after_script:
>>       - cd build
> 
> I'm tempted to deprecate gprof altogether as I find it hard to believe
> anyone uses it when perf tools give you a much clearer indication of
> where the bottlenecks are in "real world" environments.

Sounds fine to me, too. I'll drop this patch here from my queue. Could you 
send a patch for removing the jobs instead?

  Thomas