From: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
To: David Gibson <david@gibson.dropbear.id.au>,
Michael Roth <mdroth@linux.vnet.ibm.com>
Cc: lvivier@redhat.com, sursingh@redhat.com, qemu-devel@nongnu.org,
qemu-ppc@nongnu.org, Bharata B Rao <bharata@linux.vnet.ibm.com>
Subject: Re: [Qemu-devel] [Qemu-ppc] [PATCH 0/4] spapr:DRC cleanups (part I)
Date: Thu, 1 Jun 2017 12:41:40 -0300 [thread overview]
Message-ID: <d8d8aa98-46de-ae2e-1da9-25e9a53fd89b@linux.vnet.ibm.com> (raw)
In-Reply-To: <20170601053037.GC13397@umbus.fritz.box>
On 06/01/2017 02:30 AM, David Gibson wrote:
> On Wed, May 31, 2017 at 11:25:41PM -0500, Michael Roth wrote:
>> Quoting Bharata B Rao (2017-05-31 23:06:46)
>>> On Thu, Jun 01, 2017 at 11:52:14AM +1000, David Gibson wrote:
>>>> The code managing DRCs[0] has quite a few things that are more
>>>> complicated than they need to be. In particular the object
>>>> representing a DRC has a bunch of method pointers, despite the fact
>>>> that there are currently no subclasses, and even if there were the
>>>> method implementations would be unlikely to differ.
>>> So you are getting rid of a few methods. How about other methods ?
>>> Specially attach and detach which have incorporated all the logic needed
>>> to handle logical and physical DRs into their implementations ?
>> I would avoid any methods that incorporate special-casing for
>> physical vs. logical DRCs, since that seems like a good logical
>> starting point for moving to 'physical'/'logical' DRC
>> sub-classes to help simplify the increasingly complicated
>> state-tracking.
> Right, I'm looking at making subclasses for each of the DRC types.
> Possibly with intermediate subclasses for physical vs. logical, we'll
> see how it works out.
Back in the DRC migration patch series I talked with Mike about refactoring
the DRC code in such fashion (physical DRC and logical DRC). But first I
would
implement some kind of unit testing in this code to avoid breaking too much
stuff during this refactoring.
I am not sure about the effort to implementing unit test in the current
DRC code.
This series is simplifying the DRC code, making it more minimalist and
possibly
easier to be tested. In the end it would be a first step towards unit
testing.
However, there is the issue of backward compatibility. I fear this DRC
refactoring
of Logical/Physical DRC would be too drastic to maintain such compatibility
(assuming that it is not already broken). If this refactor goes live
only in 2.11 then
we will have a hard time to migrate from 2.11 to 2.10.
All that said, I believe we can live without unit testing for a little
longer and if
we're going for this Physical/DRC refactoring, we need to push it for
2.10. We can
think about unit test later with the refactored code. Feel free to send
to me any
unfinished/beta DRC refactoring code you might be working on and want
tested. I can help in the refactoring too, just let me know.
Daniel
>
>> I also don't think we should expose DRC internal fields to
>> outside callers (which attach/detach would involve).
> Well.. just changing attach/detach to plain functions instead of
> methods wouldn't break that.
>
>> This
>> series does that to some extent with the RTAS calls, but
>> since those are now moved to spapr_drc.c it makes more sense.
> Right - the semantics of the RTAS calls are tied closely to the DRC
> semantics, so I don't think there's any point considering the RTAS
> calls to be "outside" the DRC code itself.
>
next prev parent reply other threads:[~2017-06-01 15:41 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-01 1:52 [Qemu-devel] [PATCH 0/4] spapr:DRC cleanups (part I) David Gibson
2017-06-01 1:52 ` [Qemu-devel] [PATCH 1/4] spapr: Move DRC RTAS calls into spapr_drc.c David Gibson
2017-06-01 13:36 ` Laurent Vivier
2017-06-01 16:05 ` Michael Roth
2017-06-02 3:21 ` David Gibson
2017-06-01 15:56 ` Michael Roth
2017-06-02 3:24 ` David Gibson
2017-06-01 16:08 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2017-06-01 1:52 ` [Qemu-devel] [PATCH 2/4] spapr: Abolish DRC get_fdt method David Gibson
2017-06-01 14:01 ` Laurent Vivier
2017-06-01 16:09 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2017-06-01 1:52 ` [Qemu-devel] [PATCH 3/4] spapr: Abolish DRC set_configured method David Gibson
2017-06-01 15:13 ` Laurent Vivier
2017-06-01 15:37 ` Michael Roth
2017-06-02 3:31 ` David Gibson
2017-06-01 16:14 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2017-06-01 1:52 ` [Qemu-devel] [PATCH 4/4] spapr: Make DRC get_index and get_type methods into plain functions David Gibson
2017-06-01 15:19 ` Laurent Vivier
2017-06-01 4:06 ` [Qemu-devel] [PATCH 0/4] spapr:DRC cleanups (part I) Bharata B Rao
2017-06-01 4:21 ` David Gibson
2017-06-01 4:25 ` Michael Roth
2017-06-01 5:30 ` David Gibson
2017-06-01 15:41 ` Daniel Henrique Barboza [this message]
2017-06-02 3:35 ` [Qemu-devel] [Qemu-ppc] " David Gibson
2017-06-01 13:41 ` Daniel Henrique Barboza
2017-06-02 3:49 ` [Qemu-devel] " David Gibson
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=d8d8aa98-46de-ae2e-1da9-25e9a53fd89b@linux.vnet.ibm.com \
--to=danielhb@linux.vnet.ibm.com \
--cc=bharata@linux.vnet.ibm.com \
--cc=david@gibson.dropbear.id.au \
--cc=lvivier@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=sursingh@redhat.com \
/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).