[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/3] x86/mem_sharing: make fork_reset more configurable
- To: Tamas K Lengyel <tamas.lengyel@xxxxxxxxx>
- From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
- Date: Thu, 24 Mar 2022 16:45:54 +0100
- 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=YgaAqxvU1cViA0guGwXU/j3AdjKEtIfn9g5W1kvmekM=; b=KyDwA+PbE+JyaXOySf33BM4siGXzQ+SkFdWbImuLPMNda2jVM4Hv/CSOYh+qve8flu3lGebb5hEUtWYKvv+DbgfSXmmZ4DGPPnk215Vo6gAnGqxW/Vz2gQRqf847PaZMTzNGENcMP5edNBOeSmOPusu14nCiplucEVF2XZDD/NanbKSMyHh15xss/5A+4oUzorhtMlDzxzgyqMR+KFYjrBdnZdCc6/7yAUFXWQP7hoOTdpUfpMGjP61Hv3N79S+hb/klF42jJ9ydFOIEtIIE+jIWxt3o9ry25f6opHBeB07qrCXDUiBLqVwCCfwE3rzmD7eIDkIkXJyq6/yns0tkqw==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cqWzvOvpTO5//FPYUiEn8/EAjpDdDJ3p/c4m+YodVEkL4xGrGNeIEyjME0Qplxz9AXxc92tYNgIKOh+eklOFgZILP7+giazgb1r/1pQR89mTXkFCPOUG3Ln+foqwqy0JK7npyORmrtmSCUegSa12dUds1Bqz0agQ7boYkKR26hmPOgAmcymEY2ObUEJYryeUp908G6icsFnMJQLDk1GMS+rcdjxVnGd/uzm0nRvkK2cc4IKjbxU9mupaTKg+LRS54Mst+ChliGeIimn9dwTTaEDr1QURJ4YVgLOOHftAKP987wgpkgJS3Z8kvjXSUYr/ldfx+SV39x8kckcvp8F8pg==
- Authentication-results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
- Cc: <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, "Jan Beulich" <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, "Stefano Stabellini" <sstabellini@xxxxxxxxxx>, Tamas K Lengyel <tamas@xxxxxxxxxxxxx>, Alexandru Isaila <aisaila@xxxxxxxxxxxxxxx>, Petre Pircalabu <ppircalabu@xxxxxxxxxxxxxxx>
- Delivery-date: Thu, 24 Mar 2022 15:46:19 +0000
- Ironport-data: A9a23:kHAj6Ks5gZ2Temlq1HsNr0VeYefnVP5eMUV32f8akzHdYApBsoF/q tZmKWmOPveDNjOjL411Yd/ioEkOsZ+HzdFjSgBkpChmQS1H+JbJXdiXEBz9bniYRiHhoOOLz Cm8hv3odp1coqr0/0/1WlTZhSAgk/nOHNIQMcacUsxLbVYMpBwJ1FQyw4bVvqYy2YLjW1jX5 YuoyyHiEATNNwBcYzp8B52r8HuDjNyq0N/PlgVjDRzjlAa2e0g9VPrzF4noR5fLatA88tqBb /TC1NmEElbxpH/BPD8HfoHTKSXmSpaKVeSHZ+E/t6KK2nCurQRquko32WZ1he66RFxlkvgoo Oihu6BcRi9qPu7IoOgZXCIILH1iballwbPFAiag5Jn7I03uKxMAwt1rBUAye4YZ5vx2ESdF8 vlwxDIlN07ZwbjsmfTiF7cq1p9LwMrDZevzvll6yj7UF7A+SI3rSKTW/95Imjw3g6iiGN6AO ZdCM2I0N3wsZTUTOldPE8MGjtuZpXfENCx0l3WkofMOtj27IAtZj+G2bYu9lsaxbd5Ogk+Sq 2bC/mL4KhIXLtqSzXyC6H3Eru3SmSL2XqoCGbv+8eRl6HWPz2kaEzUKVl+2p/aoh0r4UNVaQ 2QM4is0pqE2/Ua2ZtP8QxG1rnOCshMGHdFXFoUS4QCWw6vQ6i6TB3QIQzBMbtArrok9QjlC/ k+EmZblCCJitJWRSGmB7fGEoDWqIy8XIGQeIygeQmMt/9DmqZp1ih/JQcduFIa0iMH4HXf7x DXihDc6r6Uei4gMzarT1VLNji+op5PJZhUo/QiRVWWghit7a5SifJeA8kXA4LBLK4Pxc7Wal CFawY7EtrlIVMzT0nzWKAkQIF23z7WFcznkjVpgJMkeqyj9/12acYJzvi4rcS+FLf04UTPuZ UbSvyZY65lSIGamYMdLXm6hNyg55fO+TIq4D5g4evILO8EsL1HfoEmCcGbKhwjQfF4QfbbT0 HtxWeKlFj4kBKtu11JarM9NgOZwlkjSKY4+LK0XLihLM5LDPBZ5qp9faTNii9zVCove/205F P4Fa6O3J+13CrGWX8Uu2dd7wao2BXY6H4vqjMdca/SOJAFrcEl4VaOBme15K9c7x/kF/gstw p1bchUIoLYYrSeaQThml1g5MO+/NXqBhSxT0dMQ0aaAhCF4PNfHAFY3fJorZ7g3nNGPPtYvJ 8Tpj/6oW6wVIhyeomx1RcCk8ORKKUT67SrTbnHNSGVuIPZdq/nhp4aMkv3Hr3JVUEJadKIW/ tWd6+8sacZcFl4+XZeMNJpCDTqZ5BAgpQ67ZGORSvF7c0Tw6ol6bSv3i/48OcYXLhvfgDCd0 m6r7d0w+YEhf6ddHAH1uJ25
- Ironport-hdrordr: A9a23:EEjMQqt5cSVS1cVg1ZKiY/6A7skCmIMji2hC6mlwRA09TyXGra 6TdaUguiMc1gx8ZJhBo7C90KnpewK7yXdQ2/htAV7CZnidhILMFuBfBOTZsljd8kHFh4pgPO JbAtRD4b7LfClHZKTBkXGF+r8bqbHtms3Y5pa9854ud3AQV0gJ1XYGNu/xKDwOeOApP+tfKH LKjfA32AZINE5nJviTNz0gZazuttfLnJXpbVovAAMm0hCHiXeN5KThGxaV8x8CW3cXqI1Su1 Ttokjc3OGOovu7whjT2yv66IlXosLozp9mCNaXgsYYBz3wgkKDZZhnWZeFoDcpydvfo2oCoZ 3pmVMNLs5z43TeciWcpgbs4RDp1HIU53rr2Taj8AzeiP28YAh/J9tKhIpffBecwVEnpstA3K VC2H/cn4ZLDDvb9R6NqOTgZlVPrA6ZsHAimekcgzh0So0FcoJcqoQZ4Qd8DIoAJiTn84oqed MeQP003MwmMG9yUkqp/lWGmLeXLzcO91a9MwU/U/WuonZrdCsT9Tpb+CQd9k1wgK7VBaM0ot gsCZ4Y542mfvVmHZ6VO91xM/dfKla9Ny4kY1jiaGgOKsk8SgfwQtjMkfEI2N0=
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On Tue, Mar 22, 2022 at 01:41:39PM -0400, Tamas K Lengyel wrote:
> diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h
> index 208d8dcbd9..30ce23c5a7 100644
> --- a/xen/include/public/memory.h
> +++ b/xen/include/public/memory.h
> @@ -541,12 +541,14 @@ struct xen_mem_sharing_op {
> uint32_t gref; /* IN: gref to debug */
> } u;
> } debug;
> - struct mem_sharing_op_fork { /* OP_FORK */
> + struct mem_sharing_op_fork { /* OP_FORK/_RESET */
> domid_t parent_domain; /* IN: parent's domain id */
> /* These flags only makes sense for short-lived forks */
> #define XENMEM_FORK_WITH_IOMMU_ALLOWED (1u << 0)
> #define XENMEM_FORK_BLOCK_INTERRUPTS (1u << 1)
> #define XENMEM_FORK_SKIP_SPECIAL_PAGES (1u << 2)
> +#define XENMEM_FORK_RESET_STATE (1u << 3)
> +#define XENMEM_FORK_RESET_MEMORY (1u << 4)
> uint16_t flags; /* IN: optional settings */
> uint32_t pad; /* Must be set to 0 */
> } fork;
> diff --git a/xen/include/public/vm_event.h b/xen/include/public/vm_event.h
> index bb003d21d0..81c2ee28cc 100644
> --- a/xen/include/public/vm_event.h
> +++ b/xen/include/public/vm_event.h
> @@ -127,6 +127,14 @@
> * Reset the vmtrace buffer (if vmtrace is enabled)
> */
> #define VM_EVENT_FLAG_RESET_VMTRACE (1 << 13)
> +/*
> + * Reset the VM state (if VM is fork)
> + */
> +#define VM_EVENT_FLAG_RESET_FORK_STATE (1 << 14)
> +/*
> + * Remove unshared entried from physmap (if VM is fork)
> + */
> +#define VM_EVENT_FLAG_RESET_FORK_MEMORY (1 << 15)
I'm confused about why two different interfaces are added to do this
kind of selective resets, one to vm_event and one to xenmem_fork?
I thin k the natural place for the option to live would be
XENMEM_FORK?
Thanks, Roger.
|