qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: Yang Zhong <yang.zhong@intel.com>
Cc: pbonzini@redhat.com, jarkko@kernel.org, philmd@redhat.com,
	qemu-devel@nongnu.org, armbru@redhat.com
Subject: Re: [PATCH v3 3/5] numa: Support SGX numa in the monitor and Libvirt interfaces
Date: Wed, 10 Nov 2021 10:55:40 -0600	[thread overview]
Message-ID: <20211110165540.souq5vgqtfn2hsft@redhat.com> (raw)
In-Reply-To: <20211101162009.62161-4-yang.zhong@intel.com>

On Mon, Nov 01, 2021 at 12:20:07PM -0400, Yang Zhong wrote:
> Add the SGXEPCSection list into SGXInfo to show the multiple
> SGX EPC sections detailed info, not the total size like before.
> This patch can enable numa support for 'info sgx' command and
> QMP interfaces. The new interfaces show each EPC section info
> in one numa node. Libvirt can use QMP interface to get the
> detailed host SGX EPC capabilities to decide how to allocate
> host EPC sections to guest.
> 
> (qemu) info sgx
>  SGX support: enabled
>  SGX1 support: enabled
>  SGX2 support: enabled
>  FLC support: enabled
>  NUMA node #0: size=67108864
>  NUMA node #1: size=29360128
> 
> The QMP interface show:
> (QEMU) query-sgx
> {"return": {"sgx": true, "sgx2": true, "sgx1": true, "sections": \
> [{"node": 0, "size": 67108864}, {"node": 1, "size": 29360128}], "flc": true}}
> 
> (QEMU) query-sgx-capabilities
> {"return": {"sgx": true, "sgx2": true, "sgx1": true, "sections": \
> [{"node": 0, "size": 17070817280}, {"node": 1, "size": 17079205888}], "flc": true}}

Other than the different "size" values, how do these commands differ?

> 
> Signed-off-by: Yang Zhong <yang.zhong@intel.com>
> ---
>  qapi/misc-target.json | 19 ++++++++++++++--
>  hw/i386/sgx.c         | 51 +++++++++++++++++++++++++++++++++++--------
>  2 files changed, 59 insertions(+), 11 deletions(-)
> 
> diff --git a/qapi/misc-target.json b/qapi/misc-target.json
> index 5aa2b95b7d..1022aa0184 100644
> --- a/qapi/misc-target.json
> +++ b/qapi/misc-target.json
> @@ -337,6 +337,21 @@
>    'if': 'TARGET_ARM' }
>  
>  
> +##
> +# @SGXEPCSection:
> +#
> +# Information about intel SGX EPC section info
> +#
> +# @node: the numa node
> +#
> +# @size: the size of epc section
> +#
> +# Since: 6.2

Are we still trying to cram this into 6.2, or is now slipping into 7.0?

> +##
> +{ 'struct': 'SGXEPCSection',
> +  'data': { 'node': 'int',
> +            'size': 'uint64'}}
> +
>  ##
>  # @SGXInfo:
>  #
> @@ -350,7 +365,7 @@
>  #
>  # @flc: true if FLC is supported
>  #
> -# @section-size: The EPC section size for guest
> +# @sections: The EPC sections info for guest
>  #
>  # Since: 6.2
>  ##
> @@ -359,7 +374,7 @@
>              'sgx1': 'bool',
>              'sgx2': 'bool',
>              'flc': 'bool',
> -            'section-size': 'uint64'},
> +            'sections': ['SGXEPCSection']},

This would be an incompatible change.  As long as 6.2 isn't released,
we can do that; but once it is, we need to be more careful about
changing the QMP spec.

>     'if': 'TARGET_I386' }
>  
>  ##
> diff --git a/hw/i386/sgx.c b/hw/i386/sgx.c
> index 9a77519609..b5b710a556 100644
> --- a/hw/i386/sgx.c
> +++ b/hw/i386/sgx.c
> @@ -76,11 +76,13 @@ static uint64_t sgx_calc_section_metric(uint64_t low, uint64_t high)
>             ((high & MAKE_64BIT_MASK(0, 20)) << 32);
>  }
>  
> -static uint64_t sgx_calc_host_epc_section_size(void)
> +static SGXEPCSectionList *sgx_calc_host_epc_sections(void)
...

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org



  reply	other threads:[~2021-11-10 17:00 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-01 16:20 [PATCH v3 0/5] SGX NUMA support plus vepc reset Yang Zhong
2021-11-01 16:20 ` [PATCH v3 1/5] numa: Enable numa for SGX EPC sections Yang Zhong
2021-11-01 16:20 ` [PATCH v3 2/5] monitor: Support 'info numa' command Yang Zhong
2021-11-01 16:20 ` [PATCH v3 3/5] numa: Support SGX numa in the monitor and Libvirt interfaces Yang Zhong
2021-11-10 16:55   ` Eric Blake [this message]
2021-11-11  6:18     ` Yang Zhong
2021-11-11  7:55       ` Philippe Mathieu-Daudé
2021-11-11  8:07         ` Yang Zhong
2021-11-11  7:39     ` Paolo Bonzini
2021-11-01 16:20 ` [PATCH v3 4/5] doc: Add the SGX numa description Yang Zhong
2021-11-01 16:20 ` [PATCH v3 5/5] sgx: Reset the vEPC regions during VM reboot Yang Zhong
2021-11-10 12:52 ` [PATCH v3 0/5] SGX NUMA support plus vepc reset Paolo Bonzini
2021-11-10 12:56   ` Yang Zhong
2021-11-10 16:07     ` Paolo Bonzini
2021-11-11  6:20       ` Yang Zhong

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=20211110165540.souq5vgqtfn2hsft@redhat.com \
    --to=eblake@redhat.com \
    --cc=armbru@redhat.com \
    --cc=jarkko@kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=yang.zhong@intel.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).