qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC] GitLab issue tracker labeling process: arch/target, os, and ac


From: Philippe Mathieu-Daudé
Subject: Re: [RFC] GitLab issue tracker labeling process: arch/target, os, and accel labels
Date: Mon, 14 Jun 2021 20:53:26 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1

On 6/14/21 7:32 PM, John Snow wrote:

> # Accel
> 
> Currently "accel: XXX", for HAX, HVF, KVM, TCG, WHPX and Xen.
> 
> https://gitlab.com/qemu-project/qemu/-/labels?subscribed=&search=accel%3A
> 
> Multiple accel labels can be applied to an issue, not just one. The
> intent was to allow for issues that may impact multiple accelerators,
> though that case may be rare.

While we can have QEMU built for multiple accelerators, AFAIK there is
only one at runtime. This is the one we want to know in bug reports.

I don't see multiple accel: labels as a valid user case.

The exception could be nested virtualization, but it is the same accel,
so this could be covered by an extra accel:nested label.

> I think these are reasonably straightforward and unambiguous, though for
> some qemu-system reports it's not always evident which accelerator
> applies right away without more info. The accel tag is often omitted
> because of this uncertainty.
> 
> I'd like to keep the mapping here 1:1 against ACCEL_CLASS_NAME if I can.
> It makes the mapping from CLI to accel tag fairly straightforward.
> 
> We technically lack a "qtest" accel tag for that parity. It could be
> added, but it's likely not actually useful versus the "tests" label.
> It's not really a user-facing accelerator.

All the accel:qtest issues I recall are the Fuzzer ones.
Sufficient so far.

> I see we also have a new "nvmm" accelerator, too, which should now be
> added here.
> 
> RTH raises the issue of the "TCI" subsystem of TCG, which is not a full
> accelerator in its own right, but (I think) a special case of TCG. If I
> keep the 1:1 mapping to ACCEL_CLASS_NAME, "accel: TCI" is inappropriate.
> 
> Some suggestions:
> - "TCI" by itself, simple enough.
> - "TCG-TCI" or "TCG: TCI" or "TCG/TCI" or similar, so that it shows up
> in label search when you search for 'tcg'.
> - "accel: TCG:TCI". Similar to above but uses the "accel:" prefix too.

It is unlikely a reporter add the TCI label. We'll add it upon triage.
Likely from TCG with the sole objective to Cc Stefan, which isn't up to
date with the recent TCI changes, so back to TCG maintainers.
Is it worth the churn?

> My only concern here is completeness of the label: this one seems like
> it's at particular risk of being forgotten or lost. It works perfectly
> well as an organizational bucket for people working on TCI, but I wonder
> if it will work well as an "issue inbox". Intended use begins to matter
> here. Your thoughts, Stefan?
> 
> 
> # OS
> 
> Currently "os: XXX" for BSD, Linux, Windows, and macOS.
> 
> https://gitlab.com/qemu-project/qemu/-/labels?subscribed=&search=os%3A
> 
> Multiple OS labels can be applied to an issue.
> 
> Originally, we kept this label somewhat vague and have been using it to
> identify both the host AND guest involved with an issue.
> 
> Stefan Weil has requested that we refactor this to separate the concerns
> so that he can identify issues where Windows is the host without wading
> through numerous reports where Windows is merely the guest. Reasonable
> request.
> 
> Shall we split it into "host: XXX" and "guest: XXX" for {BSD, Linux,
> Windows, macOS}?

I'm missing the importance of the guest OS. Either it is in pair with
the host accel, or it is accel:TCG and I see the guest irrelevant (do
we want to list all firmwares?).

So I'll let other sort this out.

> This isn't too hard to do at initial triage time, but we'll need to sift
> through the bugs we've labeled so far and re-label them. Help on this
> would be appreciated. I would prefer we create a *new* set of labels and
> then draw down on the old labels instead of just renaming them. That
> way, the old label can be used as a re-triage queue.
> 
> 
> # arch/target
> 
> Currently "target: XXX" for alpha, arm, avr, cris, hexagon, hppa, i386,
> m68k, microblaze, mips, nios2, openrisc, ppc, riscv, rx, s390x, sh4,
> sparc, tricore, xtensa.
> 
> https://gitlab.com/qemu-project/qemu/-/labels?subscribed=&search=target%3A
> 
> The names map 1:1 to the directories in target/.
> The names in [square brackets] in the label descriptions correspond 1:1
> with the SysEmuTarget QAPI enum defined in qapi/machine.json.
> 
> Multiple target labels can be applied to an issue. Originally, this was
> named "arch", so this was to allow multiple architectures to be
> specified to cover the host/guest environment. If we disentangle this,
> we may still want to allow multiple labels to cover bugs that might
> affect multiple targets, though that case might be rare.
> 
> Recently, we renamed this from "arch: XXX" to "target: XXX", though the
> label had been being used for both the host and guest architecture, so
> this will need to be re-audited to remove cases where the label had been
> applied for the host architecture.

This audit list is simply ...

> We probably want to keep a set of labels that apply to the host
> architecture. These are useful for build failures, environment setup
> issues, or just documenting the exact environment on which an issue was
> observed.
> 
> We won't likely require the full set of targets to be duplicated for
> this purpose: possibly just the most common ones. I assume those are:
> 
> arm, i386, ppc, s390x

... this one ^.

Maybe use the list of architecture with accelerators?

The rest of problems likely fits into the "Build System" label
(or is not supported).

Regards,

Phil.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]