From: Laszlo Ersek <lersek@redhat.com>
To: Jordan Justen <jordan.l.justen@intel.com>,
Leif Lindholm <leif.lindholm@linaro.org>
Cc: edk2-devel@lists.01.org,
Ard Biesheuvel <ard.biesheuvel@linaro.org>,
Andrew Fish <afish@apple.com>,
Michael D Kinney <michael.d.kinney@intel.com>
Subject: Re: [PATCH] Maintainers.txt: update OvmfPkg maintainership
Date: Thu, 17 Aug 2017 01:47:59 +0200 [thread overview]
Message-ID: <f8e4a407-f3af-195d-3abe-b7d5581ed189@redhat.com> (raw)
In-Reply-To: <150292303458.22617.12503389727996780425@jljusten-skl>
On 08/17/17 00:37, Jordan Justen wrote:
> On 2017-08-16 12:23:49, Leif Lindholm wrote:
[snip]
>> - the value proposition
>> for Linaro is that having maintainer parity ArmVirtPkg/OvmfPkg
>> simplifies the task of maintaining feature parity between the two.
>> (It is no secret that I would love to see them as a single package,
>> making it easier to clean up the way EDK2-for-qemu gets packaged by
>> Linux distributions.)
>
> I would also prefer to have OVMF support ARM and eventually RISC-V as
> well. I don't think Laszlo feels as confident about this though.
I have two concerns:
(1) Reorganizing OvmfPkg for this would take an immense amount of time
(with possible regressions).
(2) Sharing more code between modules that aren't inherently
architecture-independent (and virtualization platform-independent) is risky.
By "sharing more code", I mean extracting further library classes and
then unifying originally separate drivers. I also mean extracting common
files from separate library instances, and then unifying the lib
instances in a common directory, with multiple INF files, or with
arch-dependent sections in the one resultant INF file. Another method is
to control the same set of drivers / library instances differently, via
dynamic PCDs.
While all this is great for code de-duplication, the chance of
regressions skyrockets if the code de-dup is not matched by a similar
overlap in maintenance (that is, review and testing).
Personally I use QEMU/KVM (and occasionally QEMU/TCG) on x86 and
aarch64. I don't use 32-bit ARM (even guests, on aarch64 hosts), or any
kind of Xen. I've never seen RISC-V hardware (and probably won't --
nested TCG with QEMU doesn't count).
The best counter-indication for this kind of increased sharing is the
*numerous* Xen-related regressions that have slipped through in the
past, simply because none of the OvmfPkg maintainers use Xen. (And the
Xen project seems to be unwilling or unable to delegate an official
reviewer or co-maintainer for the Xen-related code in OvmfPkg, despite
my repeated requests.) This has happened under ArmVirtPkg too (I recall
ACPI vs. DT related changes -- surprisingly, even *that* selection is
specific to the virtualization platform.)
The bottleneck in open source development is not writing code, it is
reviewing and regression-testing code. (This is painfully obvious in
Linux kernel and QEMU development, but the same can be experienced on
edk2-devel as well.) Therefore OvmfPkg's structure should match the
distribution of OvmfPkg's active stake-holders over architectures and
virtualization platforms.
IMO the current code sharing between OvmfPkg and ArmVirtPkg, while
certainly not 100% polished, is workable -- meaning that it mostly
corresponds to the stakes that ArmVirtPkg and OvmfPkg maintainers and
long-term contributors hold in the shared modules.
In fact, these stakes would be much better reflected if Ard *too* were a
Maintainer for OvmfPkg.
Thanks
Laszlo
next prev parent reply other threads:[~2017-08-16 23:45 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-16 17:17 [PATCH] Maintainers.txt: update OvmfPkg maintainership Leif Lindholm
2017-08-16 17:23 ` Kinney, Michael D
2017-08-16 18:02 ` Laszlo Ersek
2017-08-16 19:17 ` Ard Biesheuvel
2017-08-16 18:09 ` Jordan Justen
2017-08-16 18:26 ` Laszlo Ersek
2017-08-16 19:23 ` Leif Lindholm
2017-08-16 22:37 ` Jordan Justen
2017-08-16 23:47 ` Laszlo Ersek [this message]
2017-08-17 10:12 ` Leif Lindholm
2017-08-17 11:57 ` Laszlo Ersek
2017-08-23 1:30 ` Konrad Rzeszutek Wilk
2017-08-23 9:04 ` Laszlo Ersek
2017-08-23 9:17 ` Wei Liu
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-list 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=f8e4a407-f3af-195d-3abe-b7d5581ed189@redhat.com \
--to=devel@edk2.groups.io \
/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