qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Gavin Shan <gshan@redhat.com>
To: qemu-arm@nongnu.org
Cc: robh@kernel.org, drjones@redhat.com, ehabkost@redhat.com,
	peter.maydell@linaro.org, qemu-devel@nongnu.org,
	shan.gavin@gmail.com, imammedo@redhat.com
Subject: [PATCH v3 0/2] hw/arm/virt: Fix qemu booting failure on device-tree
Date: Wed, 13 Oct 2021 12:58:03 +0800	[thread overview]
Message-ID: <20211013045805.192165-1-gshan@redhat.com> (raw)

The empty NUMA nodes, where no memory resides, are allowed on ARM64 virt
platform. However, QEMU fails to boot because the device-tree can't be
populated due to the conflicting device-tree node names of these empty
NUMA nodes. For example, QEMU fails to boot and the following error
message reported when below command line is used.

  /home/gavin/sandbox/qemu.main/build/qemu-system-aarch64 \
  -accel kvm -machine virt,gic-version=host               \
  -cpu host -smp 4,sockets=2,cores=2,threads=1            \
  -m 1024M,slots=16,maxmem=64G                            \
  -object memory-backend-ram,id=mem0,size=512M            \
  -object memory-backend-ram,id=mem1,size=512M            \
  -numa node,nodeid=0,cpus=0-1,memdev=mem0                \
  -numa node,nodeid=1,cpus=2-3,memdev=mem1                \
  -numa node,nodeid=2                                     \
  -numa node,nodeid=3                                     \
    :
  qemu-system-aarch64: FDT: Failed to create subnode /memory@80000000: FDT_ERR_EXISTS

The lastest device-tree specification doesn't indicate how the device-tree
nodes should be populated for these empty NUMA nodes. The proposed way
to handle this is documented in linux kernel. The linux kernel patches
have been acknoledged and merged to upstream pretty soon.

  https://lkml.org/lkml/2021/9/27/31

This series follows the suggestion, which is included in linux kernel
patches, to resolve the QEMU boot failure issue: The corresponding
device-tree nodes aren't created for the empty NUMA nodes, but their
distance map matrix should be provided by users so that the empty
NUMA node IDs can be parsed properly.

Changelog
=========
v3:
   * Require users to provide distance map matrix when empty
     NUMA node is included. The default distance map won't
     be generated any more                                        (Igor/Drew)
v2:
   * Amend PATCH[01/02]'s changelog to explain why we needn't
     switch to disable generating the default distance map        (Drew)

Gavin Shan (2):
  numa: Require distance map when empty node exists
  hw/arm/virt: Don't create device-tree node for empty NUMA node

 hw/arm/boot.c         |  4 ++++
 hw/core/machine.c     |  4 ++++
 hw/core/numa.c        | 24 ++++++++++++++++++++++++
 include/sysemu/numa.h |  1 +
 4 files changed, 33 insertions(+)

-- 
2.23.0



             reply	other threads:[~2021-10-13  4:59 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-13  4:58 Gavin Shan [this message]
2021-10-13  4:58 ` [PATCH v3 1/2] numa: Require distance map when empty node exists Gavin Shan
2021-10-13  6:35   ` Andrew Jones
2021-10-13 11:30   ` Igor Mammedov
2021-10-13 11:35     ` Andrew Jones
2021-10-13 11:53       ` Igor Mammedov
2021-10-13 12:11         ` Andrew Jones
2021-10-13 12:28           ` Andrew Jones
2021-10-14 15:14             ` Igor Mammedov
2021-10-14 15:36               ` Andrew Jones
2021-10-15  8:22                 ` Gavin Shan
2021-10-15  8:33                   ` Andrew Jones
2021-10-15 10:51                     ` Gavin Shan
2021-10-13  4:58 ` [PATCH v3 2/2] hw/arm/virt: Don't create device-tree node for empty NUMA node Gavin Shan

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=20211013045805.192165-1-gshan@redhat.com \
    --to=gshan@redhat.com \
    --cc=drjones@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=robh@kernel.org \
    --cc=shan.gavin@gmail.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).