search for: virtio_balloon_f_reporting

Displaying 20 results from an estimated 50 matches for "virtio_balloon_f_reporting".

2020 Feb 04
2
Balloon pressuring page cache
[...] >> >> Issue 2: When called via the shrinker, (but also to fix Issue 1), it could be >> that we do have VIRTIO_BALLOON_F_MUST_TELL_HOST. I assume this means >> (-ENOCLUE) that we have to wait until the hypervisor notifies us via the STOP? Or >> for which event do we have to wait? Because there is no way to *tell host* here >> that we want to reuse a page.
2020 Feb 04
2
Balloon pressuring page cache
[...] >> >> Issue 2: When called via the shrinker, (but also to fix Issue 1), it could be >> that we do have VIRTIO_BALLOON_F_MUST_TELL_HOST. I assume this means >> (-ENOCLUE) that we have to wait until the hypervisor notifies us via the STOP? Or >> for which event do we have to wait? Because there is no way to *tell host* here >> that we want to reuse a page.
2020 Feb 04
0
Balloon pressuring page cache
...s not sound > like a work I will enjoy :) It's not the user. It's the non-orthogonality that I find inelegant. Let me try to formulate the issue, forgive me for thinking aloud (and I Cc'd virtio-dev since we are talking spec things here): The annoying thing is that with Alex's VIRTIO_BALLOON_F_REPORTING host does depend on guest not touching memory before host uses it. So functionally VIRTIO_BALLOON_F_FREE_PAGE_HINT and VIRTIO_BALLOON_F_REPORTING really are supposed to do exectly the same thing, with the differences being - VIRTIO_BALLOON_F_FREE_PAGE_HINT comes upon host's request. VIRTIO_BA...
2020 Jul 10
4
[PATCH] virtio_balloon: clear modern features under legacy
...eatures should behave. + * E.g. which endian-ness to use? Better not to assume anything. + */ + if (!virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) { + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_FREE_PAGE_HINT); + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_PAGE_POISON); + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_REPORTING); + } /* * Inform the hypervisor that our pages are poisoned or * initialized. If we cannot do that then we should disable -- MST
2020 Jul 10
4
[PATCH] virtio_balloon: clear modern features under legacy
...eatures should behave. + * E.g. which endian-ness to use? Better not to assume anything. + */ + if (!virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) { + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_FREE_PAGE_HINT); + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_PAGE_POISON); + __virtio_clear_bit(vdev, VIRTIO_BALLOON_F_REPORTING); + } /* * Inform the hypervisor that our pages are poisoned or * initialized. If we cannot do that then we should disable -- MST
2020 Apr 16
3
[PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
...TY) || - !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
...TY) || - !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 27
1
[PATCH v2] virtio-balloon: Disable free page reporting if page poison reporting is not enabled
...ITY) || > >>> !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 feedback on v1? > >> > >> https://www.spinics.net/lists/linux-virtualization/msg42783.html...
2020 Mar 10
2
[PATCH v2] virtio-balloon: Switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM
...gt;vdev, VIRTIO_BALLOON_F_DEFLATE_ON_OOM)) { >> - err = virtio_balloon_register_shrinker(vb); >> - if (err) >> - goto out_del_balloon_wq; >> - } >> >> vb->pr_dev_info.report = virtballoon_free_page_report; >> if (virtio_has_feature(vb->vdev, VIRTIO_BALLOON_F_REPORTING)) { >> @@ -1003,12 +988,12 @@ static int virtballoon_probe(struct virtio_device *vdev) >> capacity = virtqueue_get_vring_size(vb->reporting_vq); >> if (capacity < PAGE_REPORTING_CAPACITY) { >> err = -ENOSPC; >> - goto out_unregister_shrinker; >>...
2020 Mar 10
2
[PATCH v2] virtio-balloon: Switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM
...gt;vdev, VIRTIO_BALLOON_F_DEFLATE_ON_OOM)) { >> - err = virtio_balloon_register_shrinker(vb); >> - if (err) >> - goto out_del_balloon_wq; >> - } >> >> vb->pr_dev_info.report = virtballoon_free_page_report; >> if (virtio_has_feature(vb->vdev, VIRTIO_BALLOON_F_REPORTING)) { >> @@ -1003,12 +988,12 @@ static int virtballoon_probe(struct virtio_device *vdev) >> capacity = virtqueue_get_vring_size(vb->reporting_vq); >> if (capacity < PAGE_REPORTING_CAPACITY) { >> err = -ENOSPC; >> - goto out_unregister_shrinker; >>...
2020 May 08
2
[PATCH v2 resubmit] virtio-balloon: Disable free page reporting if page poison reporting is not enabled
...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
...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
...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
...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;
2023 Aug 22
1
[virtio-comment] virtio queue numbering and optional queues
On Mon, Aug 21, 2023 at 03:18:50PM -0700, Daniel Verkamp wrote: > Hello virtio folks, Hi Daniel, I have CCed those involved in the free page hint and page reporting features. Stefan > > I noticed a mismatch between the way the specification defines > device-specific virtqueue indexes and the way device and driver > implementers have interpreted the specification. As a practical
2020 Apr 15
1
[PATCH v2] virtio-balloon: Avoid using the word 'report' when referring to free page hinting
...RTIO_BALLOON_F_DEFLATE_ON_OOM 2 /* Deflate balloon on OOM */ -#define VIRTIO_BALLOON_F_FREE_PAGE_HINT 3 /* VQ to report free pages */ +#define VIRTIO_BALLOON_F_FREE_PAGE_HINT 3 /* Free page hinting VQ and config */ #define VIRTIO_BALLOON_F_PAGE_POISON 4 /* Guest is using page poisoning */ #define VIRTIO_BALLOON_F_REPORTING 5 /* Page reporting virtqueue */ @@ -48,8 +48,15 @@ struct virtio_balloon_config { __u32 num_pages; /* Number of pages we've actually got in balloon. */ __u32 actual; - /* Free page report command id, readonly by guest */ - __u32 free_page_report_cmd_id; + /* + * Free page hint command...
2020 Mar 10
2
[PATCH v2] virtio-balloon: Switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM
...to relieve memory pressure. - */ - if (virtio_has_feature(vb->vdev, VIRTIO_BALLOON_F_DEFLATE_ON_OOM)) { - err = virtio_balloon_register_shrinker(vb); - if (err) - goto out_del_balloon_wq; - } vb->pr_dev_info.report = virtballoon_free_page_report; if (virtio_has_feature(vb->vdev, VIRTIO_BALLOON_F_REPORTING)) { @@ -1003,12 +988,12 @@ static int virtballoon_probe(struct virtio_device *vdev) capacity = virtqueue_get_vring_size(vb->reporting_vq); if (capacity < PAGE_REPORTING_CAPACITY) { err = -ENOSPC; - goto out_unregister_shrinker; + goto out_unregister_oom; } err = page_rep...
2020 Mar 10
2
[PATCH v2] virtio-balloon: Switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM
...to relieve memory pressure. - */ - if (virtio_has_feature(vb->vdev, VIRTIO_BALLOON_F_DEFLATE_ON_OOM)) { - err = virtio_balloon_register_shrinker(vb); - if (err) - goto out_del_balloon_wq; - } vb->pr_dev_info.report = virtballoon_free_page_report; if (virtio_has_feature(vb->vdev, VIRTIO_BALLOON_F_REPORTING)) { @@ -1003,12 +988,12 @@ static int virtballoon_probe(struct virtio_device *vdev) capacity = virtqueue_get_vring_size(vb->reporting_vq); if (capacity < PAGE_REPORTING_CAPACITY) { err = -ENOSPC; - goto out_unregister_shrinker; + goto out_unregister_oom; } err = page_rep...
2020 May 26
1
[PATCH v2 resubmit] virtio-balloon: Disable free page reporting if page poison reporting is not enabled
...IG_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 Mar 11
2
[PATCH v4 0/1] mm: virtio-balloon fix to go through the -mm tree
@Andrew, as this fix is based on free page reporting, can this go through your tree? Patch #1 contains a proper description. v3 -> v4: - Add Ack from David Rientjes - Minor tweaks to test details in the patch description v2 -> v3: - Use vb->vdev instead of vdev in all feature checks. We'll clean the other ones up later. - Add one empty line virtballoon_probe() to make it look