public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Duran, Leo" <leo.duran@amd.com>
To: 'Laszlo Ersek' <lersek@redhat.com>,
	"edk2-devel@ml01.01.org" <edk2-devel@ml01.01.org>
Cc: "michael.d.kinney@intel.com" <michael.d.kinney@intel.com>,
	"jeff.fan@intel.com" <jeff.fan@intel.com>,
	"liming.gao@intel.com" <liming.gao@intel.com>
Subject: Re: LocalApicLib: Why two separate directories?
Date: Fri, 28 Oct 2016 19:31:16 +0000	[thread overview]
Message-ID: <DM5PR12MB12432471443EA86964B0BA8EF9AD0@DM5PR12MB1243.namprd12.prod.outlook.com> (raw)
In-Reply-To: <ebd20306-c606-0c8b-5494-8fdc781f188c@redhat.com>

Thanks Lazlo.

The process as you described it makes a lot of sense.
However, I worry about the effect on external consumers of EDK2 once "old" is removed.

Leo.


> -----Original Message-----
> From: Laszlo Ersek [mailto:lersek@redhat.com]
> Sent: Friday, October 28, 2016 2:22 PM
> To: Duran, Leo <leo.duran@amd.com>; edk2-devel@ml01.01.org
> Cc: michael.d.kinney@intel.com; jeff.fan@intel.com; liming.gao@intel.com
> Subject: Re: LocalApicLib: Why two separate directories?
> 
> On 10/28/16 21:03, Duran, Leo wrote:
> > All,
> > Just a quick observation to request comments:
> >
> > Since a lot of the code in BaseXApicX2ApicLib.c and BaseXApicLib is
> > the same, how about we merge the common code and build the libraries
> > from the same directory?
> >
> > UefiCpuPkg/Library/LocalApilLib/
> > - LocalApicLib.c --> common code
> > - BaseXApicLib.c --> legacy APIC code
> > - BaseXApicX2ApicLib.c --> X2APIC code
> > - BaseXApicLib.inf -> builds from LocalApicLib.c + BaseXApicLib.c
> > - BaseXApicX2ApicLib.inf -> builds from LocalApicLib.c +
> > BaseXApicX2ApicLib.c
> >
> > Of course, doing this would require modification to existing .DSC files, to
> point to the appropriate .INF under the merged LocalApicLib directory.
> > Would that be too disruptive?
> 
> In my opinion, if:
> - you post all the patches (for all affected platforms) in a series,
> - keep the series bisectable (i.e., all the platforms build at any stage
> throughout the series),
> - CC the relevant maintainers,
> - and they accept (R-b) the patches,
> 
> then it should be fine.
> 
> Conversions like this usually involve creating a copy with the existent (or to-
> be-migrated) functionality in the new place, gradually pointing the platform
> DSCs to that place, and once the old INF files / library instances become
> unreferenced, they are removed in the last patches.
> 
> For simpler (Pkg-internal) code movement this is not always necessary (you
> can usually solve it all within a single atomic patch, like the one you just
> posted). However, when multiple Pkgs (with multiple sets of
> maintainers) are affected, we mostly avoid patches that would
> simultaneously straddle two or more Pkgs.
> 
> It's almost always possible to structure a series like described above
> -- modify just one Pkg per step, gradually flipping the pointers from "old" to
> "new", and when "old"'s refcount goes to zero, remove "old".
> 
> (Clearly the actual answer comes from the UefiCpuPkg maintainers; I'm just
> talking about the process.)
> 
> Thanks!
> Laszlo



  reply	other threads:[~2016-10-28 19:31 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-28 19:03 LocalApicLib: Why two separate directories? Duran, Leo
2016-10-28 19:22 ` Laszlo Ersek
2016-10-28 19:31   ` Duran, Leo [this message]
2016-10-28 19:28 ` Kinney, Michael D
2016-10-28 19:36   ` Duran, Leo
2016-10-28 19:40   ` 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=DM5PR12MB12432471443EA86964B0BA8EF9AD0@DM5PR12MB1243.namprd12.prod.outlook.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