[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PULL 10/13] numa: Enable numa for SGX EPC sections
|
From: |
Daniel P . Berrangé |
|
Subject: |
Re: [PULL 10/13] numa: Enable numa for SGX EPC sections |
|
Date: |
Thu, 13 Jan 2022 16:16:35 +0000 |
|
User-agent: |
Mutt/2.1.3 (2021-09-10) |
On Wed, Dec 15, 2021 at 09:25:12PM +0100, Paolo Bonzini wrote:
> From: Yang Zhong <yang.zhong@intel.com>
>
> 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>
> Message-Id: <20211101162009.62161-2-yang.zhong@intel.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> hw/core/numa.c | 5 ++---
> hw/i386/acpi-build.c | 2 ++
> hw/i386/sgx-epc.c | 3 +++
> hw/i386/sgx-stub.c | 4 ++++
> hw/i386/sgx.c | 44 +++++++++++++++++++++++++++++++++++++++
> include/hw/i386/sgx-epc.h | 3 +++
> monitor/hmp-cmds.c | 1 +
> qapi/machine.json | 10 ++++++++-
> qemu-options.hx | 4 ++--
> 9 files changed, 70 insertions(+), 6 deletions(-)
> diff --git a/qapi/machine.json b/qapi/machine.json
> index f1839acf20..edeab6084b 100644
> --- a/qapi/machine.json
> +++ b/qapi/machine.json
> @@ -1207,12 +1207,15 @@
> #
> # @memdev: memory backend linked with device
> #
> +# @node: the numa node
This needs a "(Since: 7.0)" annotation
> +#
> # Since: 6.2
> ##
> { 'struct': 'SgxEPCDeviceInfo',
> 'data': { '*id': 'str',
> 'memaddr': 'size',
> 'size': 'size',
> + 'node': 'int',
> 'memdev': 'str'
> }
> }
> @@ -1285,10 +1288,15 @@
> #
> # @memdev: memory backend linked with device
> #
> +# @node: the numa node
Likewise
> +#
> # Since: 6.2
> ##
> { 'struct': 'SgxEPC',
> - 'data': { 'memdev': 'str' } }
> + 'data': { 'memdev': 'str',
> + 'node': 'int'
> + }
> +}
>
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
| [Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PULL 10/13] numa: Enable numa for SGX EPC sections,
Daniel P . Berrangé <=