public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Jordan Justen <jordan.l.justen@intel.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Laszlo Ersek <lersek@redhat.com>
Cc: edk2-devel-01 <edk2-devel@lists.01.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Brijesh Singh <brijesh.singh@amd.com>,
	Julien Grall <julien.grall@linaro.org>,
	Phil Dennis-Jordan <phil@philjordan.eu>
Subject: Re: [PATCH 00/45] ArmVirtPkg, OvmfPkg: list module-internal headers in INF files
Date: Mon, 12 Mar 2018 01:43:29 -0700	[thread overview]
Message-ID: <152084420932.3437.8016565917691204369@jljusten-skl> (raw)
In-Reply-To: <CAKv+Gu9yWboFxRRpvssHE0-w5V=oiZThgh-R9dh2H3xpy3FDsA@mail.gmail.com>

On 2018-03-11 04:54:51, Ard Biesheuvel wrote:
> On 11 March 2018 at 11:48, Laszlo Ersek <lersek@redhat.com> wrote:
> > On 03/11/18 09:15, Ard Biesheuvel wrote:
> >> Hi Laszlo,
> >>
> >> On 11 March 2018 at 01:48, Laszlo Ersek <lersek@redhat.com> wrote:
> >>> Repo:   https://github.com/lersek/edk2.git
> >>> Branch: hdr_inf_cleanup
> >>>
> >>> In
> >>> <http://mid.mail-archive.com/E92EE9817A31E24EB0585FDF735412F56327F7D3@ORSMSX113.amr.corp.intel.com>,
> >>> Mike explained why it's a good idea to list module-internal *.h files in
> >>> the [Sources*] sections of the INF files:
> >>>
> >>> On 11/23/15 21:28, Kinney, Michael D wrote:
> >>>> There are 2 reasons to list all source files used in a module build in
> >>>> the [Sources] section.
> >>>>
> >>>> 1) Support incremental builds.  If a change to the .h file is made,
> >>>>    then the module may  not be rebuilt if the .h file is not listed in
> >>>>    [Sources]
> >>>> 2) Support of UEFI Distribution Package distribution format.  The UPT
> >>>>    tools that creates UDP packages uses the [Sources] section for the
> >>>>    inventory of files.  If a file is missing, then it will not be
> >>>>    included in the UDP file.
> >>>
> >>> In only two years and three-four months, I've finally come around
> >>> addressing (1) under ArmVirtPkg and OvmfPkg.
> >>
> >> Thanks for doing this.
> >>
> >> However, while I highly appreciate your thoroughness and verbosity in
> >> most cases, I do think you've crossed a line this time :-)
> >>
> >> Do we *really* need 4 different patches for CsmSupportLib, each adding
> >> a single .h file to [Sources], with an elaborate description how it is
> >> being used? If it is used, it needs to be listed, and if it is not, it
> >> needs to be removed, that's all there is to it IMO.
> >
> > The structuring of the patch series reflects my thinking process and the
> > work I did precisely. I didn't (couldn't) investigate multiple header
> > files at once / in parallel; I investigated them one by one. It's easy
> > to squash patches, and it's hard to split them, so I maintain that
> > writing up and posting these patches one by one, in v1, was the right
> > thing to do. Personally I find it much easier to read many trivial
> > patches than half as many complex / divergent ones. If you prefer that I
> > squash patches into one per module, I can do that (I'd wait for more
> > feedback first though).
> >
> > Second, I disagree that it's as simple as "list it if it's used". I
> > didn't just want to dump the .h filenames into the INF files; I wanted
> > to see each time whether the use of the header file was justified in the
> > first place -- this is not a given if there are multiple INF files in
> > the same directory, or an INF file has architecture-specific Sources
> > sections.
> >
> > For example, in patch 06/45, I removed "QemuLoader.h" from "Qemu.c", and
> > "Qemu.c" is only built into one of the INF files under
> > "OvmfPkg/AcpiPlatformDxe". (Ultimately I had to list "QemuLoader.h" in
> > both INF files, in patch 07/45, due to "QemuFwCfgAcpi.c", which is built
> > into both INFs.)
> >
> > For another example, in patch 37/45, I added "VbeShim.h" to
> > [Sources.Ia32, Sources.X64], and not to another of the [Sources*]
> > sections. The same applies to patch 17/45, where "X64/VirtualMemory.h"
> > belongs under [Sources.X64] only.
> >
> > I find this is not as easy as it looks, and I meant to be thorough. If
> > you don't have time to wade through the patches, I'll thank you if you
> > ACK just the first three (ArmVirtPkg) patches.
> >
> 
> Please understand that this is not criticism on your thinking process,
> and I highly value the quality of your work in general, and for this
> series in particular.
> 
> I am merely saying that it is not always necessary to share your
> personal journey resulting in the patches at this level of detail,
> simply because it doesn't scale.

True. Originally I was going to suggest that it might be worth making
1 patch per package, but after looking over the changes, it seems that
scope is maybe a bit to large for that.

> In any case, I am happy with this to go in as is, if you prefer.

Also after looking it over, it appears that Laszlo put quite a bit of
information into each commit message. I agree that it might be sliced
a little too finely, but I guess after seeing the effort he put into
it, I prefer Laszlo go ahead and keep the separate commits.

Series Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>


  reply	other threads:[~2018-03-12  8:37 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-11  1:48 [PATCH 00/45] ArmVirtPkg, OvmfPkg: list module-internal headers in INF files Laszlo Ersek
2018-03-11  1:48 ` [PATCH 01/45] ArmVirtPkg/PlatformBootManagerLib: list "PlatformBm.h" in INF file Laszlo Ersek
2018-03-11  1:48 ` [PATCH 02/45] ArmVirtPkg/ArmVirtPrePiUniCoreRelocatable: sort [Sources*] sections in INF Laszlo Ersek
2018-03-11  1:48 ` [PATCH 03/45] ArmVirtPkg/ArmVirtPrePiUniCoreRelocatable: list "PrePi.h" in INF file Laszlo Ersek
2018-03-11  1:48 ` [PATCH 04/45] OvmfPkg/AcpiPlatformDxe: sort [Sources*] sections in the INF files Laszlo Ersek
2018-03-11  1:48 ` [PATCH 05/45] OvmfPkg/AcpiPlatformDxe: list "AcpiPlatform.h" " Laszlo Ersek
2018-03-11  1:48 ` [PATCH 06/45] OvmfPkg/AcpiPlatformDxe: don't #include "QemuLoader.h" in "Qemu.c" Laszlo Ersek
2018-03-11  1:48 ` [PATCH 07/45] OvmfPkg/AcpiPlatformDxe: list "QemuLoader.h" in the INF files Laszlo Ersek
2018-03-11  1:48 ` [PATCH 08/45] OvmfPkg/BlockMmioToBlockIoDxe: list "BlockIo.h" in the INF file Laszlo Ersek
2018-03-11  1:48 ` [PATCH 09/45] OvmfPkg/CsmSupportLib: sort [Sources*] sections " Laszlo Ersek
2018-03-11  1:48 ` [PATCH 10/45] OvmfPkg/CsmSupportLib: list "CsmSupportLib.h" " Laszlo Ersek
2018-03-11  1:48 ` [PATCH 11/45] OvmfPkg/CsmSupportLib: list "LegacyInterrupt.h" " Laszlo Ersek
2018-03-11  1:48 ` [PATCH 12/45] OvmfPkg/CsmSupportLib: list "LegacyPlatform.h" " Laszlo Ersek
2018-03-11  1:48 ` [PATCH 13/45] OvmfPkg/CsmSupportLib: list "LegacyRegion.h" " Laszlo Ersek
2018-03-11  1:48 ` [PATCH 14/45] OvmfPkg/EmuVariableFvbRuntimeDxe: list "Fvb.h" " Laszlo Ersek
2018-03-11  1:48 ` [PATCH 15/45] OvmfPkg/IoMmuDxe: list "AmdSevIoMmu.h" " Laszlo Ersek
2018-03-11 15:08   ` Brijesh Singh
2018-03-11  1:48 ` [PATCH 16/45] OvmfPkg/AcpiTimerLib: list "AcpiTimerLib.h" in the INF files Laszlo Ersek
2018-03-11  1:48 ` [PATCH 17/45] OvmfPkg/BaseMemEncryptSevLib: list "X64/VirtualMemory.h" in the INF file Laszlo Ersek
2018-03-11  1:48 ` [PATCH 18/45] OvmfPkg/LoadLinuxLib: list "LoadLinuxLib.h" " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 19/45] OvmfPkg/LockBoxLib: list "LockBoxLib.h" in the INF files Laszlo Ersek
2018-03-11  1:49 ` [PATCH 20/45] OvmfPkg/NvVarsFileLib: list "NvVarsFileLib.h" in the INF file Laszlo Ersek
2018-03-11  1:49 ` [PATCH 21/45] OvmfPkg/PlatformDebugLibIoPort: list "DebugLibDetect.h" in the INF files Laszlo Ersek
2018-03-11  1:49 ` [PATCH 22/45] OvmfPkg/QemuBootOrderLib: sort [Sources*] sections in the INF file Laszlo Ersek
2018-03-11  1:49 ` [PATCH 23/45] OvmfPkg/QemuBootOrderLib: list "ExtraRootBusMap.h" " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 24/45] OvmfPkg/SerializeVariablesLib: list "SerializeVariablesLib.h" in " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 25/45] OvmfPkg/VirtioMmioDeviceLib: list "VirtioMmioDevice.h" in the " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 26/45] OvmfPkg/VirtioMmioDeviceLib: improve style of mMmioDeviceProtocolTemplate Laszlo Ersek
2018-03-11  1:49 ` [PATCH 27/45] OvmfPkg/PlatformDxe: list "Platform.h" in the INF file Laszlo Ersek
2018-03-11  1:49 ` [PATCH 28/45] OvmfPkg/PlatformDxe: list "PlatformConfig.h" " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 29/45] OvmfPkg/PlatformPei: list "Cmos.h" " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 30/45] OvmfPkg/PlatformPei: list "Platform.h" " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 31/45] OvmfPkg/PlatformPei: list "Xen.h" " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 32/45] OvmfPkg/QemuFlashFvbServicesRuntimeDxe: list "FwBlockService.h" in INFs Laszlo Ersek
2018-03-11  1:49 ` [PATCH 33/45] OvmfPkg/QemuFlashFvbServicesRuntimeDxe: list "QemuFlash.h" in INF files Laszlo Ersek
2018-03-11  1:49 ` [PATCH 34/45] OvmfPkg/QemuVideoDxe: sort [Sources*] sections in the INF file Laszlo Ersek
2018-03-11  1:49 ` [PATCH 35/45] OvmfPkg/QemuVideoDxe: list "Qemu.h" " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 36/45] OvmfPkg/QemuVideoDxe: list "UnalignedIoInternal.h" " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 37/45] OvmfPkg/QemuVideoDxe: list "VbeShim.h" " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 38/45] OvmfPkg/Virtio10Dxe: list "Virtio10.h" " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 39/45] OvmfPkg/VirtioBlkDxe: list "VirtioBlk.h" " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 40/45] OvmfPkg/VirtioNetDxe: list "VirtioNet.h" " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 41/45] OvmfPkg/VirtioPciDeviceDxe: list "VirtioPciDevice.h" " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 42/45] OvmfPkg/VirtioRngDxe: list "VirtioRng.h" " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 43/45] OvmfPkg/VirtioScsiDxe: list "VirtioScsi.h" " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 44/45] OvmfPkg/XenPvBlkDxe: sort [Sources*] sections " Laszlo Ersek
2018-03-11  1:49 ` [PATCH 45/45] OvmfPkg/XenPvBlkDxe: list "DriverBinding.h" " Laszlo Ersek
2018-03-11  8:15 ` [PATCH 00/45] ArmVirtPkg, OvmfPkg: list module-internal headers in INF files Ard Biesheuvel
2018-03-11 11:48   ` Laszlo Ersek
2018-03-11 11:54     ` Ard Biesheuvel
2018-03-12  8:43       ` Jordan Justen [this message]
2018-03-12 12:10         ` Laszlo Ersek
2018-03-12 16:57           ` Jordan Justen
2018-03-12 17:18             ` Laszlo Ersek
2018-03-12 12:06       ` Laszlo Ersek
2018-03-12 12:23         ` Ard Biesheuvel
2018-03-12 12:41           ` Laszlo Ersek
2018-03-13 13:34 ` Laszlo Ersek

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=152084420932.3437.8016565917691204369@jljusten-skl \
    --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