search for: virtio_balloon_f_page_poison

Displaying 20 results from an estimated 97 matches for "virtio_balloon_f_page_poison".

2018 Feb 08
0
[PATCH v28 4/4] virtio-balloon: VIRTIO_BALLOON_F_PAGE_POISON
The VIRTIO_BALLOON_F_PAGE_POISON feature bit is used to indicate if the guest is using page poisoning. Guest writes to the poison_val config field to tell host about the page poisoning value in use. Signed-off-by: Wei Wang <wei.w.wang at intel.com> Suggested-by: Michael S. Tsirkin <mst at redhat.com> Cc: Michael S. Ts...
2020 Apr 21
2
[virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
...ior and would require pages >>> to be rewritten when they come out of the balloon. However this is the >>> behavior we have now so it would only require specification >>> documentation changes. >> >> Right now, for simplicity, I prefer this and define >> VIRTIO_BALLOON_F_PAGE_POISON only for explicit deflation (balloon >> deflation via the deflate queue) and implicit deflation >> (VIRTIO_BALLOON_F_REPORTING). > > I don't recall us talking about the explicit deflation case before. The interesting part is that drivers/virtio/virtio_balloon.c mentions: &q...
2020 Apr 21
2
[virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
...sn't make sense >>> to since they essentially negate it. As such I could go through this >>> patch and the QEMU patches and clean up any associations since the to >>> are not really tied together in any way. >> >> The big question is, if we want to support VIRTIO_BALLOON_F_PAGE_POISON >> with free page hinting. e.g.,: >> >> "Pages hinted via VIRTIO_BALLOON_F_FREE_PAGE_HINT might get replaced by >> a page full of X. However, as soon as the page is written by the guest >> (even before the hinting request was processed by the host), the >> m...
2020 Apr 16
3
[PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
...irtballoon_validate(struct virtio_device *vdev) /* Tell the host whether we care about poisoned pages. */ if (!want_init_on_free() && (IS_ENABLED(CONFIG_PAGE_POISONING_NO_SANITY) || - !page_poisoning_enabled())) + !page_poisoning_enabled())) { __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_PAGE_POISON); + } else if (!virtio_has_feature(vdev, VIRTIO_BALLOON_F_PAGE_POISON)) { + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_FREE_PAGE_HINT); + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_REPORTING); + } __virtio_clear_bit(vdev, VIRTIO_F_IOMMU_PLATFORM); return 0;
2020 Apr 16
3
[PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
...irtballoon_validate(struct virtio_device *vdev) /* Tell the host whether we care about poisoned pages. */ if (!want_init_on_free() && (IS_ENABLED(CONFIG_PAGE_POISONING_NO_SANITY) || - !page_poisoning_enabled())) + !page_poisoning_enabled())) { __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_PAGE_POISON); + } else if (!virtio_has_feature(vdev, VIRTIO_BALLOON_F_PAGE_POISON)) { + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_FREE_PAGE_HINT); + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_REPORTING); + } __virtio_clear_bit(vdev, VIRTIO_F_IOMMU_PLATFORM); return 0;
2020 Apr 24
2
[PATCH v2] virtio-balloon: Disable free page reporting if page poison reporting is not enabled
...lized. If we cannot do that then we should disable + * page reporting as it could potentially change the contents + * of our free pages. + */ if (!want_init_on_free() && (IS_ENABLED(CONFIG_PAGE_POISONING_NO_SANITY) || !page_poisoning_enabled())) __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_PAGE_POISON); + else if (!virtio_has_feature(vdev, VIRTIO_BALLOON_F_PAGE_POISON)) + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_REPORTING); __virtio_clear_bit(vdev, VIRTIO_F_IOMMU_PLATFORM); return 0;
2020 Apr 24
2
[PATCH v2] virtio-balloon: Disable free page reporting if page poison reporting is not enabled
...lized. If we cannot do that then we should disable + * page reporting as it could potentially change the contents + * of our free pages. + */ if (!want_init_on_free() && (IS_ENABLED(CONFIG_PAGE_POISONING_NO_SANITY) || !page_poisoning_enabled())) __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_PAGE_POISON); + else if (!virtio_has_feature(vdev, VIRTIO_BALLOON_F_PAGE_POISON)) + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_REPORTING); __virtio_clear_bit(vdev, VIRTIO_F_IOMMU_PLATFORM); return 0;
2020 Apr 17
2
[virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
...#39;t migrate any of these pages in the hypervisor, so the content will be zeroed out on the migration target. If migration fails, the ld content will remain. You can call that "corrupting memory" - it's exactly what it has been invented for. IIRC we decided to glue the semantics of VIRTIO_BALLOON_F_PAGE_POISON to VIRTIO_BALLOON_F_FREE_PAGE_HINT, which makes in my opinion perfect sense. So I propose: VIRTIO_BALLOON_F_PAGE_POISON not implemented in the hypervisor: - Pages inflated/deflated via VIRTIO_BALLOON_F_FREE_PAGE_HINT will either have the old page content or will be filled with 0. - This matches...
2020 Apr 22
1
[virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
...e the madvise is called that will >>> discard the data. If so it would be pretty easy to just add a check >>> for the poison value to the same spot we check >>> qemu_balloon_is_inhibited. >> >> Okay, we have basically no idea what was the intention of >> VIRTIO_BALLOON_F_PAGE_POISON with basic deflation/inflation as well. So >> I think we can define what suits us. >> >> On the deflate path, we could always simply fill with poison_val. But >> there are nasty corner cases (esp. no VIRTIO_BALLOON_F_MUST_TELL_HOST). >> >> What would be your sugg...
2020 Apr 27
2
[PATCH v2] virtio-balloon: Disable free page reporting if page poison reporting is not enabled
...lly change the contents > > + * of our free pages. > > + */ > > if (!want_init_on_free() && > > (IS_ENABLED(CONFIG_PAGE_POISONING_NO_SANITY) || > > !page_poisoning_enabled())) > > __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_PAGE_POISON); > > + else if (!virtio_has_feature(vdev, VIRTIO_BALLOON_F_PAGE_POISON)) > > + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_REPORTING); > > > > __virtio_clear_bit(vdev, VIRTIO_F_IOMMU_PLATFORM); > > return 0; > > > > Did you see my...
2020 Apr 27
2
[PATCH v2] virtio-balloon: Disable free page reporting if page poison reporting is not enabled
...lly change the contents > > + * of our free pages. > > + */ > > if (!want_init_on_free() && > > (IS_ENABLED(CONFIG_PAGE_POISONING_NO_SANITY) || > > !page_poisoning_enabled())) > > __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_PAGE_POISON); > > + else if (!virtio_has_feature(vdev, VIRTIO_BALLOON_F_PAGE_POISON)) > > + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_REPORTING); > > > > __virtio_clear_bit(vdev, VIRTIO_F_IOMMU_PLATFORM); > > return 0; > > > > Did you see my...
2020 May 08
2
[PATCH v2 resubmit] virtio-balloon: Disable free page reporting if page poison reporting is not enabled
...lized. If we cannot do that then we should disable + * page reporting as it could potentially change the contents + * of our free pages. + */ if (!want_init_on_free() && (IS_ENABLED(CONFIG_PAGE_POISONING_NO_SANITY) || !page_poisoning_enabled())) __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_PAGE_POISON); + else if (!virtio_has_feature(vdev, VIRTIO_BALLOON_F_PAGE_POISON)) + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_REPORTING); __virtio_clear_bit(vdev, VIRTIO_F_IOMMU_PLATFORM); return 0;
2020 May 08
2
[PATCH v2 resubmit] virtio-balloon: Disable free page reporting if page poison reporting is not enabled
...lized. If we cannot do that then we should disable + * page reporting as it could potentially change the contents + * of our free pages. + */ if (!want_init_on_free() && (IS_ENABLED(CONFIG_PAGE_POISONING_NO_SANITY) || !page_poisoning_enabled())) __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_PAGE_POISON); + else if (!virtio_has_feature(vdev, VIRTIO_BALLOON_F_PAGE_POISON)) + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_REPORTING); __virtio_clear_bit(vdev, VIRTIO_F_IOMMU_PLATFORM); return 0;
2020 Apr 20
2
[virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
...hen it comes to free page hinting. It doesn't make sense > to since they essentially negate it. As such I could go through this > patch and the QEMU patches and clean up any associations since the to > are not really tied together in any way. The big question is, if we want to support VIRTIO_BALLOON_F_PAGE_POISON with free page hinting. e.g.,: "Pages hinted via VIRTIO_BALLOON_F_FREE_PAGE_HINT might get replaced by a page full of X. However, as soon as the page is written by the guest (even before the hinting request was processed by the host), the modified page will stay - whereby the unwritten parts...
2020 Apr 27
1
[PATCH v2] virtio-balloon: Disable free page reporting if page poison reporting is not enabled
...* of our free pages. > >>> + */ > >>> if (!want_init_on_free() && > >>> (IS_ENABLED(CONFIG_PAGE_POISONING_NO_SANITY) || > >>> !page_poisoning_enabled())) > >>> __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_PAGE_POISON); > >>> + else if (!virtio_has_feature(vdev, VIRTIO_BALLOON_F_PAGE_POISON)) > >>> + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_REPORTING); > >>> > >>> __virtio_clear_bit(vdev, VIRTIO_F_IOMMU_PLATFORM); > >>> retu...
2020 Apr 21
0
[virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
...>>> to since they essentially negate it. As such I could go through this > >>> patch and the QEMU patches and clean up any associations since the to > >>> are not really tied together in any way. > >> > >> The big question is, if we want to support VIRTIO_BALLOON_F_PAGE_POISON > >> with free page hinting. e.g.,: > >> > >> "Pages hinted via VIRTIO_BALLOON_F_FREE_PAGE_HINT might get replaced by > >> a page full of X. However, as soon as the page is written by the guest > >> (even before the hinting request was processed by...
2020 Apr 21
0
[virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
...t; >>> to be rewritten when they come out of the balloon. However this is the > >>> behavior we have now so it would only require specification > >>> documentation changes. > >> > >> Right now, for simplicity, I prefer this and define > >> VIRTIO_BALLOON_F_PAGE_POISON only for explicit deflation (balloon > >> deflation via the deflate queue) and implicit deflation > >> (VIRTIO_BALLOON_F_REPORTING). > > > > I don't recall us talking about the explicit deflation case before. > > The interesting part is that drivers/virtio/vi...
2018 Feb 08
9
[PATCH v28 0/4] Virtio-balloon: support free page reporting
...handle a cornercase For previous ChangeLog, please reference https://lwn.net/Articles/743660/ Wei Wang (4): mm: support reporting free page blocks virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT mm/page_poison: add a function to expose page poison val to kernel modules virtio-balloon: VIRTIO_BALLOON_F_PAGE_POISON drivers/virtio/virtio_balloon.c | 258 +++++++++++++++++++++++++++++++----- include/linux/mm.h | 8 ++ include/linux/poison.h | 7 - include/uapi/linux/virtio_balloon.h | 7 + mm/page_alloc.c | 96 ++++++++++++++ mm/page_poison.c...
2018 Feb 08
9
[PATCH v28 0/4] Virtio-balloon: support free page reporting
...handle a cornercase For previous ChangeLog, please reference https://lwn.net/Articles/743660/ Wei Wang (4): mm: support reporting free page blocks virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT mm/page_poison: add a function to expose page poison val to kernel modules virtio-balloon: VIRTIO_BALLOON_F_PAGE_POISON drivers/virtio/virtio_balloon.c | 258 +++++++++++++++++++++++++++++++----- include/linux/mm.h | 8 ++ include/linux/poison.h | 7 - include/uapi/linux/virtio_balloon.h | 7 + mm/page_alloc.c | 96 ++++++++++++++ mm/page_poison.c...
2020 Apr 17
2
[virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
...call that "corrupting memory" - it's exactly what it has been >> invented for. > > Well no, original author repeatedly stated it's "hinting" > because page can be in use actually. Agreed. > >> >> IIRC we decided to glue the semantics of VIRTIO_BALLOON_F_PAGE_POISON to >> VIRTIO_BALLOON_F_FREE_PAGE_HINT, which makes in my opinion perfect sense. >> >> So I propose: >> >> VIRTIO_BALLOON_F_PAGE_POISON not implemented in the hypervisor: >> - Pages inflated/deflated via VIRTIO_BALLOON_F_FREE_PAGE_HINT will >> either have...