qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH for-7.1 0/9] spapr: add drc->index, remove spapr_drc_index()


From: Daniel Henrique Barboza
Subject: Re: [PATCH for-7.1 0/9] spapr: add drc->index, remove spapr_drc_index()
Date: Mon, 21 Mar 2022 04:58:47 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.6.2



On 3/21/22 00:55, David Gibson wrote:
On Fri, Mar 18, 2022 at 02:33:11PM -0300, Daniel Henrique Barboza wrote:
Hi,

I decided to make this change after realizing that (1) spapr_drc_index()
always return the same index value for the DRC regardless of machine or
device state and (2) we call spapr_drc_index() a lot throughout the
spapr code.

Hmm.. so, spapr_drc_index() wasn't ever intended as an abstraction
point.  Rather, it's just there as a matter of data redundancy.  The
index can be derived from the drc->id and the type.  Unless there's a
compelling reason otherwise, it's usually a good idea to store data in
just one form (if there's more it's an opportunity for bugs to let it
get out of sync).


Hmm what if we store drc->index instead and derive drc->id from it? drc->index
is read from several places, while drc->id is used just in spapr_drc_name() to
write the DT (via spapr_dt_drc()).

I'll think more about it.


Thanks,


Daniel



This means that a new attribute to store the generated index in the DRC
object time will spare us from calling a function that always returns
the same value.

No functional changes were made.

Daniel Henrique Barboza (9):
   hw/ppc/spapr_drc.c: add drc->index
   hw/ppc/spapr_drc.c: redefine 'index' SpaprDRC property
   hw/ppc/spapr_drc.c: use drc->index in trace functions
   hw/ppc/spapr_drc.c: use drc->index
   hw/ppc/spapr.c: use drc->index
   hw/ppc/spapr_events.c: use drc->index
   hw/ppc/spapr_nvdimm.c: use drc->index
   hw/ppc/spapr_pci.c: use drc->index
   hw/ppc/spapr_drc.c: remove spapr_drc_index()

  hw/ppc/spapr.c             | 18 ++++-----
  hw/ppc/spapr_drc.c         | 79 +++++++++++++++-----------------------
  hw/ppc/spapr_events.c      |  4 +-
  hw/ppc/spapr_nvdimm.c      | 10 ++---
  hw/ppc/spapr_pci.c         |  5 +--
  include/hw/ppc/spapr_drc.h |  2 +-
  6 files changed, 48 insertions(+), 70 deletions(-)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]