[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/6] numa: Enable numa for SGX EPC sections
From: |
Eric Blake |
Subject: |
Re: [PATCH 1/6] numa: Enable numa for SGX EPC sections |
Date: |
Mon, 11 Oct 2021 11:32:39 -0500 |
User-agent: |
NeoMutt/20210205-852-339c0c |
On Mon, Oct 11, 2021 at 07:15:49PM +0800, Yang Zhong wrote:
> The basic SGX did not enable numa for SGX EPC sections, which
> result in all EPC sections located in numa node 0. This patch
> enable SGX numa function in the guest and the EPC section can
> work with RAM as one numa node.
>
> The Guest kernel related log:
> [ 0.009981] ACPI: SRAT: Node 0 PXM 0 [mem 0x180000000-0x183ffffff]
> [ 0.009982] ACPI: SRAT: Node 1 PXM 1 [mem 0x184000000-0x185bfffff]
> The SRAT table can normally show SGX EPC sections menory info in different
> numa nodes.
>
> The SGX EPC numa related command:
> ......
> -m 4G,maxmem=20G \
> -smp sockets=2,cores=2 \
> -cpu host,+sgx-provisionkey \
> -object memory-backend-ram,size=2G,host-nodes=0,policy=bind,id=node0 \
> -object
> memory-backend-epc,id=mem0,size=64M,prealloc=on,host-nodes=0,policy=bind \
> -numa node,nodeid=0,cpus=0-1,memdev=node0 \
> -object memory-backend-ram,size=2G,host-nodes=1,policy=bind,id=node1 \
> -object
> memory-backend-epc,id=mem1,size=28M,prealloc=on,host-nodes=1,policy=bind \
> -numa node,nodeid=1,cpus=2-3,memdev=node1 \
> -M
> sgx-epc.0.memdev=mem0,sgx-epc.0.node=0,sgx-epc.1.memdev=mem1,sgx-epc.1.node=1
> \
> ......
>
> Signed-off-by: Yang Zhong <yang.zhong@intel.com>
> ---
> qapi/machine.json | 6 +++++-
> include/hw/i386/sgx-epc.h | 3 +++
> hw/i386/acpi-build.c | 4 ++++
> hw/i386/sgx-epc.c | 3 +++
> hw/i386/sgx.c | 44 +++++++++++++++++++++++++++++++++++++++
> monitor/hmp-cmds.c | 1 +
> qemu-options.hx | 4 ++--
> 7 files changed, 62 insertions(+), 3 deletions(-)
>
> diff --git a/qapi/machine.json b/qapi/machine.json
> index 5db54df298..09b6188e6f 100644
> --- a/qapi/machine.json
> +++ b/qapi/machine.json
> @@ -1213,6 +1213,7 @@
> 'data': { '*id': 'str',
> 'memaddr': 'size',
> 'size': 'size',
> + 'node': 'int',
> 'memdev': 'str'
> }
> }
> @@ -1288,7 +1289,10 @@
> # Since: 6.2
> ##
> { 'struct': 'SgxEPC',
> - 'data': { 'memdev': 'str' } }
> + 'data': { 'memdev': 'str',
> + 'node': 'int'
> + }
> +}
Missing documentation of the new member.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org