[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/2] x86: Introduce arch_domain_teardown()


  • To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Mon, 5 Jun 2023 17:19:44 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=at3hdDeS1LxSJSka4aSHh8Kb5rYYYjt5Q9DUGQCnyhQ=; b=dvkWHnOlGd9LtSnLHtbqb9QvCDk1QwIqxXqiArvjJYm/i85SxprsTbQwmuLJBt+0AG6MEUAt8oQamD6hz3FONjbpxvw9Z+LCBtZ4zdkXQB0FC7FutzYr5PsPRniSBSLtXcx0rrB/G3Wufw5Dkq+VbXO04DqvZFrfwEEwtTAxxBQvEH8biVbvBbVcNml1otOkJgNL51uhtgtXEmc5wS+BZiZ+qdVTZUQZXxkqLA3+v2fNrteGnWjbC1mawyJXu0ckdce0tNdrC90p7I2Y/K6is6B3YNkOOQzCziKMPEDXV5QQ3s9BC8z+BeVM7LuiA13fmjJRNraZOa7vnC7IrWmM2g==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NlR+EgknHeCoH4CQQGMbcsT4+cxt3ns982BupjHlhnAsCfCCtfZxvvVBd+krjoTQjFgEvxSrjTrtMRb3PtB2vU9CNKN9i7Dst+HN9Cx/GT/LggAMVNuP2trieUmwq0UUpVmcnJwkgSJpjHe7lIogan/LSFPRik8mH2YeVFb/lZGpwsVLtVXGVflz0R1dQDXbWTCzSW2OUOiDaNL9RvN0Tckpt0R06XEhuLIf2sSJwwjnpHDWesYsZGFm9PzQ3WQm4Vb/Q6LeiNbda8oVE+7KCW12FNEiRwKeAX/oLETzAETv7w9vawL8rk3DMJTf3TPOsl7RsBjf7+9lis9NcvoQAQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Jan Beulich <JBeulich@xxxxxxxx>, Wei Liu <wl@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Jens Wiklander <jens.wiklander@xxxxxxxxxx>
  • Delivery-date: Mon, 05 Jun 2023 15:20:41 +0000
  • Ironport-data: A9a23:iYiPNKOquGy0GkvvrR09lsFynXyQoLVcMsEvi/4bfWQNrUoh3jdSz mNNWz2Ab/eJMWLxc91wYY/npBwEvp+Bm9NiSAto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/ Nj/uKUzAnf8s9JPGjxSs/rrRC9H5qyo42tG5gBmPJingXeF/5UrJMNHTU2OByOQrrl8RoaSW +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0uNcXXgW+ /s6Eg0uRTnajr6S64uFdPY506zPLOGzVG8ekldJ6GiDSNwAEdXESaiM4sJE1jAtgMwIBezZe 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PdxujeIpOBy+OGF3N79YNuFSN8Thk+Fj mnH4374ElcRM9n3JT+tqyv127Wfxn6kMG4UPI3iyNBYiUTP/2coCRYnFniCrqLpqEHrDrqzL GRRoELCt5Ma5EGtC9XwQRC8iHqFpQIHHcpdFfUg7wOAwbaS5ByWbkAmZDNcbN0ttOctWCcnk FSOmrvBGjhHoLCTD3WH+d+8tiiuMCIYKWsDYy4sTgYf5dTn5oYpgXrnTMtnEaOzps34H3f32 T/ihBY5g7IfnMsazZKR9FrMgy+vjpXRRwtz7QLSNkqv4xllfoeja8qt4ELC8PdbBI+DSx+Ku 31ss8qT6vtIEpCOkCWLTOgXNLWo4f+fN3vbm1EHInU63zGk+nrmd4YA5jh7fR1tKpxdJmSvZ 1LPswRM4pMVJGGtcaJ8f4O2DYIt0LTkEtPmEPvTa7Kif6RMSeNOxwk2DWb44ownuBJx+U3jE f93qfqRMEs=
  • Ironport-hdrordr: A9a23:FWIP0K1yR8CVCSfWIebFVAqjBLwkLtp133Aq2lEZdPU1SKClfq WV98jzuiWatN98Yh8dcLK7WJVoMEm8yXcd2+B4V9qftWLdyQiVxe9ZnO7f6gylNyri9vNMkY dMGpIObOEY1GIK7/rH3A==
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Mon, Jun 05, 2023 at 03:43:30PM +0100, Andrew Cooper wrote:
> Plumb it into domain_teardown().  Provide arch_val in the teardown
> continuation information for use by arch_domain_teardown().
> 
> No practical change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> ---
> CC: Jan Beulich <JBeulich@xxxxxxxx>
> CC: Roger Pau Monné <roger.pau@xxxxxxxxxx>
> CC: Wei Liu <wl@xxxxxxx>
> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> CC: Julien Grall <julien@xxxxxxx>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
> CC: Bertrand Marquis <bertrand.marquis@xxxxxxx>
> CC: Jens Wiklander <jens.wiklander@xxxxxxxxxx>
> ---
>  xen/arch/arm/domain.c    | 5 +++++
>  xen/arch/x86/domain.c    | 5 +++++
>  xen/common/domain.c      | 6 ++++++
>  xen/include/xen/domain.h | 1 +
>  xen/include/xen/sched.h  | 1 +
>  5 files changed, 18 insertions(+)
> 
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index d8ef6501ff8e..b3981d70a442 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -750,6 +750,11 @@ int arch_domain_create(struct domain *d,
>      return rc;
>  }
>  
> +int arch_domain_teardown(struct domain *d)
> +{
> +    return 0;
> +}
> +
>  void arch_domain_destroy(struct domain *d)
>  {
>      /* IOMMU page table is shared with P2M, always call
> diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
> index 39c215316546..5f66c2ae33d7 100644
> --- a/xen/arch/x86/domain.c
> +++ b/xen/arch/x86/domain.c
> @@ -888,6 +888,11 @@ int arch_domain_create(struct domain *d,
>      return rc;
>  }
>  
> +int arch_domain_teardown(struct domain *d)
> +{
> +    return 0;
> +}
> +
>  void arch_domain_destroy(struct domain *d)
>  {
>      if ( is_hvm_domain(d) )
> diff --git a/xen/common/domain.c b/xen/common/domain.c
> index 6a440590fe2a..b0d850e3595b 100644
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -416,6 +416,7 @@ static int domain_teardown(struct domain *d)
>              PROG_none,
>              PROG_gnttab_mappings,
>              PROG_vcpu_teardown,
> +            PROG_arch_teardown,
>              PROG_done,
>          };
>  
> @@ -436,6 +437,11 @@ static int domain_teardown(struct domain *d)
>                  return rc;
>          }
>  
> +    PROGRESS(arch_teardown):
> +        rc = arch_domain_teardown(d);
> +        if ( rc )
> +            return rc;
> +
>      PROGRESS(done):
>          break;
>  
> diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
> index 26f9c4f6dd5b..c3348c90748f 100644
> --- a/xen/include/xen/domain.h
> +++ b/xen/include/xen/domain.h
> @@ -80,6 +80,7 @@ int arch_domain_create(struct domain *d,
>                         struct xen_domctl_createdomain *config,
>                         unsigned int flags);
>  
> +int arch_domain_teardown(struct domain *d);
>  void arch_domain_destroy(struct domain *d);
>  
>  void arch_domain_shutdown(struct domain *d);
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index 85242a73d374..854f3e32c00e 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -589,6 +589,7 @@ struct domain
>       */
>      struct {
>          unsigned int val;
> +        unsigned int arch_val;

While I haven't looked at patch 2, wouldn't such continuation
information better be encoded in arch_domain in whatever way is more
suitable for each architecture?

Thanks, Roger.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.