qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 093256: hw/ppc: e500: Add missing #address-ce


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 093256: hw/ppc: e500: Add missing #address-cells and #size...
Date: Wed, 31 Mar 2021 08:38:51 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 093256789aaec8b9e84b620a4334adcea5992223
      
https://github.com/qemu/qemu/commit/093256789aaec8b9e84b620a4334adcea5992223
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2021-03-31 (Wed, 31 Mar 2021)

  Changed paths:
    M hw/ppc/e500.c

  Log Message:
  -----------
  hw/ppc: e500: Add missing #address-cells and #size-cells in the eTSEC node

Per devicetree spec v0.3 [1] chapter 2.3.5:

The #address-cells and #size-cells properties are not inherited
from ancestors in the devicetree. They shall be explicitly defined.
If missing, a client program should assume a default value of 2
for #address-cells, and a value of 1 for #size-cells.

These properties are currently missing, causing the <reg> property
of the queue-group subnode to be incorrectly parsed using default
values.

[1] 
https://github.com/devicetree-org/devicetree-specification/releases/download/v0.3/devicetree-specification-v0.3.pdf

Fixes: fdfb7f2cdb2d ("e500: Add support for eTSEC in device tree")
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Message-Id: <20210311081608.66891-1-bmeng.cn@gmail.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: 9cbcfb5924b9a8295e7a103941135eb75c9deb93
      
https://github.com/qemu/qemu/commit/9cbcfb5924b9a8295e7a103941135eb75c9deb93
  Author: Greg Kurz <groug@kaod.org>
  Date:   2021-03-31 (Wed, 31 Mar 2021)

  Changed paths:
    M target/ppc/kvm.c

  Log Message:
  -----------
  target/ppc/kvm: Cache timebase frequency

Each vCPU core exposes its timebase frequency in the DT. When running
under KVM, this means parsing /proc/cpuinfo in order to get the timebase
frequency of the host CPU.

The parsing appears to slow down the boot quite a bit with higher number
of cores:

# of cores     seconds spent in spapr_dt_cpus()
      8                  0.550122
     16                  1.342375
     32                  2.850316
     64                  5.922505
     96                  9.109224
    128                 12.245504
    256                 24.957236
    384                 37.389113

The timebase frequency of the host CPU is identical for all
cores and it is an invariant for the VM lifetime. Cache it
instead of doing the same expensive parsing again and again.

Rename kvmppc_get_tbfreq() to kvmppc_get_tbfreq_procfs() and
rename the 'retval' variable to make it clear it is used as
fallback only. Come up with a new version of kvmppc_get_tbfreq()
that calls kvmppc_get_tbfreq_procfs() only once and keep the
value in a static.

Zero is certainly not a valid value for the timebase frequency.
Treat atoi() returning zero as another parsing error and return
the fallback value instead. This allows kvmppc_get_tbfreq() to
use zero as an indicator that kvmppc_get_tbfreq_procfs() hasn't
been called yet.

With this patch applied:

    384                 0.518382

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <161600382766.1780699.6787739229984093959.stgit@bahia.lan>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: df2d7ca7744156aac0e05ab47bc8623654c1346a
      
https://github.com/qemu/qemu/commit/df2d7ca7744156aac0e05ab47bc8623654c1346a
  Author: Greg Kurz <groug@kaod.org>
  Date:   2021-03-31 (Wed, 31 Mar 2021)

  Changed paths:
    M hw/ppc/spapr.c

  Log Message:
  -----------
  spapr: Assert DIMM unplug state in spapr_memory_unplug()

spapr_memory_unplug() is the last step of the hot unplug sequence.
It is indirectly called by:

 spapr_lmb_release()
  hotplug_handler_unplug()

and spapr_lmb_release() already buys us that DIMM unplug state is
present : it gets restored with spapr_recover_pending_dimm_state()
if missing.

g_assert() that spapr_pending_dimm_unplugs_find() cannot return NULL
in spapr_memory_unplug() to make this clear and silence Coverity.

Fixes: Coverity CID 1450767
Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <161562021166.948373.15092876234470478331.stgit@bahia.lan>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: a40888bad602706abb0e726f96a9ea580d591de5
      
https://github.com/qemu/qemu/commit/a40888bad602706abb0e726f96a9ea580d591de5
  Author: Alexey Kardashevskiy <aik@ozlabs.ru>
  Date:   2021-03-31 (Wed, 31 Mar 2021)

  Changed paths:
    M include/hw/ppc/spapr.h

  Log Message:
  -----------
  spapr: Fix typo in the patb_entry comment

There is no H_REGISTER_PROCESS_TABLE, it is H_REGISTER_PROC_TBL handler
for which is still called h_register_process_table() though.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Message-Id: <20210225032335.64245-1-aik@ozlabs.ru>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: 611ac0a60fdcc7422bf42ef9b467abf4fdbea1a2
      
https://github.com/qemu/qemu/commit/611ac0a60fdcc7422bf42ef9b467abf4fdbea1a2
  Author: Bin Meng <bmeng.cn@gmail.com>
  Date:   2021-03-31 (Wed, 31 Mar 2021)

  Changed paths:
    M hw/net/fsl_etsec/rings.c

  Log Message:
  -----------
  hw/net: fsl_etsec: Tx padding length should exclude CRC

As the comment of tx_padding_and_crc() says: "Never add CRC in QEMU",
min_frame_len should excluce CRC, so it should be 60 instead of 64.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Message-Id: <20210316081505.72898-1-bmeng.cn@gmail.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>


  Commit: 6ee55e1d10c25c2f6bf5ce2084ad2327e17affa5
      
https://github.com/qemu/qemu/commit/6ee55e1d10c25c2f6bf5ce2084ad2327e17affa5
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-03-31 (Wed, 31 Mar 2021)

  Changed paths:
    M hw/net/fsl_etsec/rings.c
    M hw/ppc/e500.c
    M hw/ppc/spapr.c
    M include/hw/ppc/spapr.h
    M target/ppc/kvm.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/dg-gitlab/tags/ppc-for-6.0-20210331' 
into staging

ppc patch queue for 2021-03-31

Here's another set of patches for the ppc target and associated
machine types.  I'd hoped to send this closer to the hard freeze, but
got caught up for some time chasing what looked like a strange
regression, before finally concluding it was due to unrelated failures
on the CI.

This is just a handful of fairly straightforward fixes, plus one
performance improvement that's simple and beneficial enough that I'm
considering it a "performance bug fix".

# gpg: Signature made Wed 31 Mar 2021 07:22:17 BST
# gpg:                using RSA key 75F46586AE61A66CC44E87DC6C38CACA20D9B392
# gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" [full]
# gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>" [full]
# gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" 
[full]
# gpg:                 aka "David Gibson (kernel.org) <dwg@kernel.org>" 
[unknown]
# Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392

* remotes/dg-gitlab/tags/ppc-for-6.0-20210331:
  hw/net: fsl_etsec: Tx padding length should exclude CRC
  spapr: Fix typo in the patb_entry comment
  spapr: Assert DIMM unplug state in spapr_memory_unplug()
  target/ppc/kvm: Cache timebase frequency
  hw/ppc: e500: Add missing #address-cells and #size-cells in the eTSEC node

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/b307a3174ffc...6ee55e1d10c2



reply via email to

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