xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Samuel Ortiz <sameo@linux.intel.com>
To: Igor Mammedov <imammedo@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Eduardo Habkost <ehabkost@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	qemu-devel@nongnu.org, Shannon Zhao <shannon.zhaosl@gmail.com>,
	qemu-arm@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [PATCH v5 00/24] ACPI reorganization for hardware-reduced API addition
Date: Thu, 22 Nov 2018 01:17:50 +0100	[thread overview]
Message-ID: <20181122001750.GF4450@caravaggio> (raw)
In-Reply-To: <20181121151526.5785b43f@redhat.com>

On Wed, Nov 21, 2018 at 03:15:26PM +0100, Igor Mammedov wrote:
> On Wed, 21 Nov 2018 07:35:47 -0500
> "Michael S. Tsirkin" <mst@redhat.com> wrote:
> 
> > On Mon, Nov 19, 2018 at 04:31:10PM +0100, Igor Mammedov wrote:
> > > On Fri, 16 Nov 2018 17:37:54 +0100
> > > Paolo Bonzini <pbonzini@redhat.com> wrote:
> > >   
> > > > On 16/11/18 17:29, Igor Mammedov wrote:  
> > > > > General suggestions for this series:
> > > > >   1. Preferably don't do multiple changes within a patch
> > > > >      neither post huge patches (unless it's pure code movement).
> > > > >      (it's easy to squash patches later it necessary)
> > > > >   2. Start small, pick a table generalize it and send as
> > > > >      one small patchset. Tables are often independent
> > > > >      and it's much easier on both author/reviewer to agree upon
> > > > >      changes and rewrite it if necessary.    
> > > > 
> > > > How would that be done?  This series is on the bigger side, agreed, but
> > > > most of it is really just code movement.  It's a starting point, having
> > > > a generic ACPI library is way beyond what this is trying to do.  
> > > I've tried to give suggestions how to restructure series
> > > on per patch basis. In my opinion it quite possible to split
> > > series in several smaller ones and it should really help with
> > > making series cleaner and easier/faster to review/amend/merge
> > > vs what we have in v5.
> > > (it's more frustrating to rework large series vs smaller one)
> > > 
> > > If something isn't clear, it's easy to reach out to me here
> > > or directly (email/irc/github) for clarification/feed back.  
> > 
> > I assume the #1 goal is to add reduced HW support.  So another
> > option to speed up merging is to just go ahead and duplicate a
> > bunch of code e.g. in pc_virt.c acpi/reduced.c or in any other
> > file.
> > This way it might be easier to see what's common code and what isn't.
> > And I think offline Igor said he might prefer that way. Right Igor?
> You mean probably 'x86 reduced hw' support.
That's what this is going to eventually look like, unfortunately.
And there's no technical reasons why we could not have a arch agnostic
hw-reduced support, so this should only be an intermediate step.

> That's was what I've
> already suggested for PCI AML code during patch review. Just don't
> call it generic when it's not and place code in hw/i386/ directory beside
> acpi-build.c. It might apply to some other tables (i.e. complex cases).
> 
> On per patch review I gave suggestions how to amend series to make
> it acceptable without doing complex refactoring and pointed out
> places we probably shouldn't refactor now and just duplicate as
> it's too complex or not clear how to generalize it yet.
I think I got the idea, and I will try to rework this serie according
to these directions.


> Problem with duplication is that a random contributor is not
> around to clean code up after a feature is merged and we end up
> with a bunch of messy code.
I'd argue that the same could be said of a potential "x86 hw-reduced"
solution. The same random contributor may not be around to push it to
the next step and make it more generic. I'd also argue we're not
planning to be random contributors, dropping code to the mailing list
and leaving.


> A word to the contributors,
> Don't do refactoring in silence, keep discussing approaches here,
> suggest alternatives.
Practically speaking, a large chunk of the NEMU work rely on having a
generic hardware-reduced ACPI implementation. We could not have blocked
the project waiting for an upstream acceptable solution for it and we
had to pick one route.
Retroactively I think we should have gone the self-contained, fully
duplicated route and move on with the rest of the NEMU work. Upstream
discussions could have then happened in parallel without much disruption
for the project.

Cheers,
Samuel.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

      parent reply	other threads:[~2018-11-22  0:18 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-05  1:40 [PATCH v5 00/24] ACPI reorganization for hardware-reduced API addition Samuel Ortiz
2018-11-05  1:40 ` [PATCH v5 01/24] hw: i386: Decouple the ACPI build from the PC machine type Samuel Ortiz
2018-11-09 14:23   ` Igor Mammedov
2018-11-21 14:42     ` [Qemu-devel] " Samuel Ortiz
2018-11-22 15:13       ` Igor Mammedov
2018-11-05  1:40 ` [PATCH v5 02/24] hw: acpi: Export ACPI build alignment API Samuel Ortiz
2018-11-09 14:27   ` Igor Mammedov
2018-11-21 14:42     ` Samuel Ortiz
2018-11-05  1:40 ` [PATCH v5 03/24] hw: acpi: The RSDP build API can return void Samuel Ortiz
2018-11-06 10:23   ` Paolo Bonzini
2018-11-06 10:43     ` Samuel Ortiz
2018-11-08 14:24   ` [Qemu-devel] " Igor Mammedov
2018-11-05  1:40 ` [PATCH v5 04/24] hw: acpi: Export the RSDP build API Samuel Ortiz
2018-11-05  1:40 ` [PATCH v5 05/24] hw: acpi: Implement XSDT support for RSDP Samuel Ortiz
2018-11-08 14:16   ` Igor Mammedov
2018-11-08 14:36     ` Samuel Ortiz
2018-11-08 14:53     ` [Qemu-devel] " Igor Mammedov
2018-11-19 18:27     ` Michael S. Tsirkin
2018-11-20  8:23       ` Igor Mammedov
2018-11-21 14:42     ` [Qemu-devel] " Samuel Ortiz
2018-11-22 16:26       ` Igor Mammedov
2018-11-23  9:36         ` Samuel Ortiz
2018-11-05  1:40 ` [PATCH v5 06/24] hw: acpi: Factorize the RSDP build API implementation Samuel Ortiz
2018-11-05  1:40 ` [PATCH v5 07/24] hw: acpi: Generalize AML build routines Samuel Ortiz
2018-11-09 13:37   ` Igor Mammedov
     [not found]   ` <20181109143733.76b93da5@redhat.com>
2018-11-21 15:00     ` [Qemu-devel] " Samuel Ortiz
2018-11-05  1:40 ` [PATCH v5 08/24] hw: acpi: Factorize _OSC AML across architectures Samuel Ortiz
2018-11-05  1:40 ` [PATCH v5 09/24] hw: i386: Move PCI host definitions to pci_host.h Samuel Ortiz
2018-11-09 14:30   ` Igor Mammedov
2018-11-05  1:40 ` [PATCH v5 10/24] hw: acpi: Export the PCI host and holes getters Samuel Ortiz
2018-11-13 15:59   ` [Qemu-devel] " Igor Mammedov
2018-11-21 15:43     ` Samuel Ortiz
2018-11-23 10:55       ` Igor Mammedov
2018-11-05  1:40 ` [PATCH v5 11/24] hw: acpi: Export and generalize the PCI host AML API Samuel Ortiz
2018-11-14 10:55   ` Igor Mammedov
2018-11-21 23:12     ` [Qemu-devel] " Samuel Ortiz
2018-11-23 11:04       ` Igor Mammedov
2018-11-05  1:40 ` [PATCH v5 12/24] hw: acpi: Export the MCFG getter Samuel Ortiz
2018-11-15 12:36   ` Igor Mammedov
2018-11-21 23:21     ` [Qemu-devel] " Samuel Ortiz
2018-11-27 13:54       ` Igor Mammedov
2018-11-05  1:40 ` [PATCH v5 13/24] hw: acpi: Do not create hotplug method when handler is not defined Samuel Ortiz
2018-11-09  9:12   ` [Qemu-devel] " Igor Mammedov
2018-11-05  1:40 ` [PATCH v5 14/24] hw: i386: Make the hotpluggable memory size property more generic Samuel Ortiz
2018-11-15 12:49   ` Igor Mammedov
2018-11-05  1:40 ` [PATCH v5 15/24] hw: i386: Export the i386 ACPI SRAT build method Samuel Ortiz
2018-11-15 13:28   ` [Qemu-devel] " Igor Mammedov
2018-11-21 23:27     ` Samuel Ortiz
2018-11-26 15:47       ` Igor Mammedov
2018-11-05  1:40 ` [PATCH v5 16/24] hw: acpi: Fix memory hotplug AML generation error Samuel Ortiz
2018-11-08 14:23   ` Igor Mammedov
2019-01-14 18:35     ` Michael S. Tsirkin
2018-11-05  1:40 ` [PATCH v5 17/24] hw: acpi: Export the PCI hotplug API Samuel Ortiz
2018-11-05  1:40 ` [PATCH v5 18/24] hw: i386: Export the MADT build method Samuel Ortiz
2018-11-16  9:27   ` [Qemu-devel] " Igor Mammedov
2018-11-05  1:40 ` [PATCH v5 19/24] hw: acpi: Retrieve the PCI bus from AcpiPciHpState Samuel Ortiz
2018-11-16  9:39   ` Igor Mammedov
2018-11-16 19:42     ` Boeuf, Sebastien
     [not found]     ` <1542397323.18399.3.camel@intel.com>
2018-11-19 15:37       ` Igor Mammedov
2018-11-19 18:02         ` Boeuf, Sebastien
2018-11-20  8:26           ` Igor Mammedov
2018-11-05  1:40 ` [PATCH v5 20/24] hw: acpi: Define ACPI tables builder interface Samuel Ortiz
2018-11-16 16:02   ` [Qemu-devel] " Igor Mammedov
2018-11-21 23:57     ` Samuel Ortiz
2018-11-27 14:08       ` Igor Mammedov
2018-11-05  1:40 ` [PATCH v5 21/24] hw: i386: Implement the ACPI builder interface for PC Samuel Ortiz
2018-11-05  1:40 ` [PATCH v5 22/24] hw: pci-host: piix: Return PCI host pointer instead of PCI bus Samuel Ortiz
2018-11-16 11:09   ` Igor Mammedov
2018-11-05  1:40 ` [PATCH v5 23/24] hw: i386: Set ACPI configuration PCI host pointer Samuel Ortiz
2018-11-05  1:40 ` [PATCH v5 24/24] hw: i386: Refactor PCI host getter Samuel Ortiz
2018-11-16 16:29 ` [Qemu-devel] [PATCH v5 00/24] ACPI reorganization for hardware-reduced API addition Igor Mammedov
2018-11-16 16:37   ` Paolo Bonzini
2018-11-19 15:31     ` Igor Mammedov
2018-11-19 17:14       ` Paolo Bonzini
2018-11-19 18:14         ` Michael S. Tsirkin
2018-11-20 21:35           ` Paolo Bonzini
2018-11-20 12:57         ` Igor Mammedov
     [not found]         ` <20181120135719.3965e33b@redhat.com>
2018-11-20 21:36           ` Paolo Bonzini
2018-11-21 12:35       ` Michael S. Tsirkin
2018-11-21 13:50         ` Samuel Ortiz
2018-11-21 13:57           ` Michael S. Tsirkin
2018-11-21 14:15         ` Igor Mammedov
2018-11-21 14:38           ` Samuel Ortiz
2018-11-22 10:39             ` Igor Mammedov
2018-11-22  0:17           ` Samuel Ortiz [this message]

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=20181122001750.GF4450@caravaggio \
    --to=sameo@linux.intel.com \
    --cc=anthony.perard@citrix.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    --cc=shannon.zhaosl@gmail.com \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    /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;
as well as URLs for NNTP newsgroup(s).