All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: "Eduardo Habkost" <eduardo@habkost.net>,
	"Thomas Huth" <thuth@redhat.com>,
	"Richard Henderson" <richard.henderson@linaro.org>,
	qemu-devel@nongnu.org, "Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Philippe Mathieu-Daudé" <philippe.mathieu.daude@gmail.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>
Subject: Re: [PULL 00/33] Abstract ArchCPU
Date: Mon, 7 Mar 2022 12:12:41 +0000	[thread overview]
Message-ID: <YiX2uVVtuj6+l3R4@redhat.com> (raw)
In-Reply-To: <CAFEAcA9tzq6atDCFDSmFZ2FhNgn7dXt21=GazcXZ9+3WYVtWuA@mail.gmail.com>

On Mon, Mar 07, 2022 at 11:51:20AM +0000, Peter Maydell wrote:
> On Sun, 6 Mar 2022 at 21:13, Philippe Mathieu-Daudé
> <philippe.mathieu.daude@gmail.com> wrote:
> >
> > +Daniel/Alex
> >
> > On 6/3/22 20:56, Peter Maydell wrote:
> > > On Sun, 6 Mar 2022 at 19:06, Philippe Mathieu-Daudé
> > > <philippe.mathieu.daude@gmail.com> wrote:
> > >> I see. I only have access to aarch64 Darwin, not x86_64; I was relying
> > >> on our CI for that (my GitLab CI is green). I'll work a fix, thanks.
> > >
> > > This was on my ad-hoc stuff -- I guess our gitlab CI for macos
> > > doesn't build hvf ?
> >
> > No, it does:
> >
> > https://gitlab.com/philmd/qemu/-/jobs/2167582776#L6444
> >
> >    Targets and accelerators
> >      KVM support                  : NO
> >      HAX support                  : YES
> >      HVF support                  : YES
> >      WHPX support                 : NO
> >      NVMM support                 : NO
> >      Xen support                  : NO
> >      TCG support                  : YES
> >
> > But the Cirrus job are allowed to fail:
> 
> Overall I am starting to feel that we should stop having
> these CI jobs that are in the "allowed to fail" category.
> All that happens is that they eat a lot of CPU on our CI
> hosts, but they don't actually find bugs because everybody
> (rightly) treats "allowed-to-fail-and-failed" as "ignore me".
> I think our CI jobs should either be "must pass", or else
> "run only manually", with that latter category being rarely
> used and only where there's a good reason (eg somebody
> specific has taken responsibility for debugging some
> intermittent failure and having it still available in the
> CI UI for them to trigger is helpful).

The cirrus CI jobs were introduced as allow-fail as we were
not sure the cirrus-run integration with gitlab would be
entirely stable. There was a blip a month or so ago due
to Cirrus CI breaking their REST API, but on the QEMU side
we seem to be OK. So I think we can toggle the flag to
make these Cirrus CI jobs gating.

> Plus we really need to get on top of all the intermittent
> failures. The current state of the world is that we have
> some intermittents, which makes it easy for new intermittents
> to get into the tree, because everybody is in the habit of
> "just hit retry"...

A big issue IMHO is that the pain/impact hits the wrong people.
It is most seriously impacts & disrupts Peter when merging, and
less impacts the subsystem maintainers, and even less the
original authors.

If we consider a alternative world where we used merge requests
for subsystem maintainers just to send pull requests. The subsystem
maintainer would open a MR and it would be their responsibility
to get a green pipeline. Peter (or the person approving pulls for
merge at the time) shouldn't even have to consider a MR until it
has got a green pipeline. That would put the primary impact of
unreliable CI onto the subsystem maintainers, blocking their work
from being considered for merge. This creates a direct incentive
on the subsystem maintainers to contribute to ensuring reliable
CI, instead of considering it somebody else's problem.

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



  reply	other threads:[~2022-03-07 12:21 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-06 12:59 [PULL 00/33] Abstract ArchCPU Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 01/33] accel: Restrict sysemu stubs to system emulation Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 02/33] accel/meson: Only build hw virtualization with " Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 03/33] exec: Declare vaddr as a generic target-agnostic type Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 04/33] exec: Make cpu_memory_rw_debug() target agnostic Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 05/33] sysemu/memory_mapping: Become target-agnostic Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 06/33] sysemu/kvm: Make kvm_on_sigbus() / kvm_on_sigbus_vcpu() target agnostic Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 07/33] accel/kvm: Simplify user-mode #ifdef'ry Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 08/33] accel/hax: Introduce CONFIG_HAX_IS_POSSIBLE Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 09/33] softmmu/cpus: Code movement Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 10/33] accel: Introduce AccelOpsClass::cpu_thread_is_idle() Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 11/33] accel: Introduce AccelOpsClass::cpus_are_resettable() Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 12/33] softmmu/globals: Remove unused 'hw/i386/*' headers Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 13/33] softmmu/physmem: Remove unnecessary include Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 14/33] softmmu/cpu-timers: Remove unused 'exec/exec-all.h' header Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 15/33] misc: Remove unnecessary "sysemu/cpu-timers.h" include Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 16/33] misc: Add missing " Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 17/33] exec/gdbstub: Make gdb_exit() / gdb_set_stop_cpu() target agnostic Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 18/33] exec/cpu: Make address_space_init/reloading_memory_map " Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 19/33] softmmu: Add qemu_init_arch_modules() Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 20/33] softmmu: Build target-agnostic objects once Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 21/33] meson: Display libfdt as disabled when system emulation is disabled Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 22/33] exec/cpu_ldst: Include 'cpu.h' to get target_ulong definition Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 23/33] cpu: Add missing 'exec/exec-all.h' and 'qemu/accel.h' headers Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 24/33] target/i386/tcg/sysemu: Include missing 'exec/exec-all.h' header Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 25/33] Hexagon (target/hexagon) convert to OBJECT_DECLARE_TYPE Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 26/33] target: Include missing 'cpu.h' Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 27/33] target/hexagon: Add missing 'hw/core/cpu.h' include Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 28/33] target: Use forward declared type instead of structure type Philippe Mathieu-Daudé
2022-03-06 21:25   ` Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 29/33] target: Use CPUArchState as interface to target-specific CPU state Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 30/33] target: Introduce and use OBJECT_DECLARE_CPU_TYPE() macro Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 31/33] target: Use ArchCPU as interface to target CPU Philippe Mathieu-Daudé
2022-03-06 12:59 ` [PULL 32/33] target/i386: Remove pointless CPUArchState casts Philippe Mathieu-Daudé
2022-03-06 13:00 ` [PULL 33/33] accel/tcg: " Philippe Mathieu-Daudé
2022-03-06 18:16 ` [PULL 00/33] Abstract ArchCPU Peter Maydell
2022-03-06 19:06   ` Philippe Mathieu-Daudé
2022-03-06 19:56     ` Peter Maydell
2022-03-06 21:13       ` Philippe Mathieu-Daudé
2022-03-07 11:51         ` Peter Maydell
2022-03-07 12:12           ` Daniel P. Berrangé [this message]
2022-03-07 12:17             ` Peter Maydell
2022-03-07 12:27               ` 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=YiX2uVVtuj6+l3R4@redhat.com \
    --to=berrange@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=eduardo@habkost.net \
    --cc=f4bug@amsat.org \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philippe.mathieu.daude@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.