qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Shannon Zhao <zhaoshenglong@huawei.com>
To: Ashok Kumar <ashoks@broadcom.com>
Cc: peter.maydell@linaro.org, hangaohuai@huawei.com,
	peter.huangpeng@huawei.com, qemu-devel@nongnu.org,
	qemu-arm@nongnu.org, shannon.zhao@linaro.org,
	ganapatrao.kulkarni@caviumnetworks.com, hanjun.guo@linaro.org
Subject: Re: [Qemu-devel] [PATCH v4 0/5] ARM: Add NUMA support for machine virt
Date: Fri, 29 Jan 2016 14:52:35 +0800	[thread overview]
Message-ID: <56AB0C33.8050400@huawei.com> (raw)
In-Reply-To: <20160129063219.GA26772@ashoks@broadcom.com>



On 2016/1/29 14:32, Ashok Kumar wrote:
> Hi, 
> 
> On Sat, Jan 23, 2016 at 07:36:41PM +0800, Shannon Zhao wrote:
>> > From: Shannon Zhao <shannon.zhao@linaro.org>
>> > 
>> > Add NUMA support for machine virt. Tested successfully running a guest
>> > Linux kernel with the following patch applied:
>> > 
>> > - [PATCH v9 0/6] arm64, numa: Add numa support for arm64 platforms
>> > https://lwn.net/Articles/672329/
>> > - [PATCH v2 0/4] ACPI based NUMA support for ARM64
>> > http://www.spinics.net/lists/linux-acpi/msg61795.html
>> > 
>> > Changes since v3:
>> > * based on new kernel driver and device bindings
>> > * add ACPI part
>> > 
>> > Changes since v2:
>> > * update to use NUMA node property arm,associativity.
>> > 
>> > Changes since v1:
>> > Take into account Peter's comments:
>> > * rename virt_memory_init to arm_generate_memory_dtb
>> > * move arm_generate_memory_dtb to boot.c and make it a common func
>> > * use a struct numa_map to generate numa dtb
>> > 
>> > Example qemu command line:
>> > qemu-system-aarch64 \
>> >     -enable-kvm -smp 4\
>> >     -kernel Image \
>> >     -m 512 -machine virt,kernel_irqchip=on \
>> >     -initrd guestfs.cpio.gz \
>> >     -cpu host -nographic \
>> >     -numa node,mem=256M,cpus=0-1,nodeid=0 \
>> >     -numa node,mem=256M,cpus=2-3,nodeid=1 \
>> >     -append "console=ttyAMA0 root=/dev/ram"
>> > 
>> > Shannon Zhao (5):
>> >   ARM: Virt: Add /distance-map node for NUMA
>> >   ARM: Virt: Set numa-node-id for CPUs
>> >   ARM: Add numa-node-id for /memory node
>> >   include/hw/acpi/acpi-defs: Add GICC Affinity Structure
>> >   hw/arm/virt-acpi-build: Generate SRAT table
>> > 
>> >  hw/arm/boot.c               | 29 ++++++++++++++++++++++-
>> >  hw/arm/virt-acpi-build.c    | 58 +++++++++++++++++++++++++++++++++++++++++++++
>> >  hw/arm/virt.c               | 37 +++++++++++++++++++++++++++++
>> >  hw/i386/acpi-build.c        |  2 +-
>> >  include/hw/acpi/acpi-defs.h | 15 +++++++++++-
>> >  5 files changed, 138 insertions(+), 3 deletions(-)
>> > 
>> > -- 
>> > 2.0.4
>> > 
> Don't we need to populate the NUMA node in the Affinity byte of MPIDR?
> Linux uses the Affinity information in MPIDR to build topology which
> might go wrong for the guest in this case. 
> Maybe a non Linux OS might be impacted more?
> 
Ah, yes. It needs to update the MPIDR. But currently QEMU uses the value
from KVM when using KVM. It needs to call kvm_set_one_reg to set the
MPIDR and I'm not sure if this will affect KVM by looking at following
comments:
    /*
     * When KVM is in use, PSCI is emulated in-kernel and not by qemu.
     * Currently KVM has its own idea about MPIDR assignment, so we
     * override our defaults with what we get from KVM.
     */

Peter, do you have any suggestion?

> distance-map compatible string has been changed from
> "numa,distance-map-v1" to "numa-distance-map-v1"
Will update this.

Thanks,
-- 
Shannon

  reply	other threads:[~2016-01-29  6:56 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-23 11:36 [Qemu-devel] [PATCH v4 0/5] ARM: Add NUMA support for machine virt Shannon Zhao
2016-01-23 11:36 ` [Qemu-devel] [PATCH v4 1/5] ARM: Virt: Add /distance-map node for NUMA Shannon Zhao
2016-01-23 11:36 ` [Qemu-devel] [PATCH v4 2/5] ARM: Virt: Set numa-node-id for CPUs Shannon Zhao
2016-01-23 11:36 ` [Qemu-devel] [PATCH v4 3/5] ARM: Add numa-node-id for /memory node Shannon Zhao
2016-01-23 11:36 ` [Qemu-devel] [PATCH v4 4/5] include/hw/acpi/acpi-defs: Add GICC Affinity Structure Shannon Zhao
2016-01-23 11:36 ` [Qemu-devel] [PATCH v4 5/5] hw/arm/virt-acpi-build: Generate SRAT table Shannon Zhao
2016-01-29  6:32 ` [Qemu-devel] [PATCH v4 0/5] ARM: Add NUMA support for machine virt Ashok Kumar
2016-01-29  6:52   ` Shannon Zhao [this message]
2016-01-29 11:32     ` Andrew Jones

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=56AB0C33.8050400@huawei.com \
    --to=zhaoshenglong@huawei.com \
    --cc=ashoks@broadcom.com \
    --cc=ganapatrao.kulkarni@caviumnetworks.com \
    --cc=hangaohuai@huawei.com \
    --cc=hanjun.guo@linaro.org \
    --cc=peter.huangpeng@huawei.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=shannon.zhao@linaro.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).