From: Marc-André Lureau <marcandre.lureau@redhat.com>
This was never turned off, effectively some dead code.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
include/system/memory.h | 12 +-----------
hw/vfio/listener.c | 2 +-
hw/virtio/virtio-mem.c | 22 ++--------------------
system/ram-block-attributes.c | 23 +----------------------
4 files changed, 5 insertions(+), 54 deletions(-)
diff --git a/include/system/memory.h b/include/system/memory.h
index 0562af31361..be36fd93dc0 100644
--- a/include/system/memory.h
+++ b/include/system/memory.h
@@ -580,26 +580,16 @@ struct RamDiscardListener {
*/
NotifyRamDiscard notify_discard;
- /*
- * @double_discard_supported:
- *
- * The listener suppors getting @notify_discard notifications that span
- * already discarded parts.
- */
- bool double_discard_supported;
-
MemoryRegionSection *section;
QLIST_ENTRY(RamDiscardListener) next;
};
static inline void ram_discard_listener_init(RamDiscardListener *rdl,
NotifyRamPopulate populate_fn,
- NotifyRamDiscard discard_fn,
- bool double_discard_supported)
+ NotifyRamDiscard discard_fn)
{
rdl->notify_populate = populate_fn;
rdl->notify_discard = discard_fn;
- rdl->double_discard_supported = double_discard_supported;
}
/**
diff --git a/hw/vfio/listener.c b/hw/vfio/listener.c
index 1087fdc142e..960da9e0a93 100644
--- a/hw/vfio/listener.c
+++ b/hw/vfio/listener.c
@@ -283,7 +283,7 @@ static bool vfio_ram_discard_register_listener(VFIOContainer *bcontainer,
ram_discard_listener_init(&vrdl->listener,
vfio_ram_discard_notify_populate,
- vfio_ram_discard_notify_discard, true);
+ vfio_ram_discard_notify_discard);
ram_discard_manager_register_listener(rdm, &vrdl->listener, section);
QLIST_INSERT_HEAD(&bcontainer->vrdl_list, vrdl, next);
diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c
index c1e2defb68e..251d1d50aaa 100644
--- a/hw/virtio/virtio-mem.c
+++ b/hw/virtio/virtio-mem.c
@@ -331,14 +331,6 @@ static int virtio_mem_notify_populate_cb(MemoryRegionSection *s, void *arg)
return rdl->notify_populate(rdl, s);
}
-static int virtio_mem_notify_discard_cb(MemoryRegionSection *s, void *arg)
-{
- RamDiscardListener *rdl = arg;
-
- rdl->notify_discard(rdl, s);
- return 0;
-}
-
static void virtio_mem_notify_unplug(VirtIOMEM *vmem, uint64_t offset,
uint64_t size)
{
@@ -398,12 +390,7 @@ static void virtio_mem_notify_unplug_all(VirtIOMEM *vmem)
}
QLIST_FOREACH(rdl, &vmem->rdl_list, next) {
- if (rdl->double_discard_supported) {
- rdl->notify_discard(rdl, rdl->section);
- } else {
- virtio_mem_for_each_plugged_section(vmem, rdl->section, rdl,
- virtio_mem_notify_discard_cb);
- }
+ rdl->notify_discard(rdl, rdl->section);
}
}
@@ -1824,12 +1811,7 @@ static void virtio_mem_rdm_unregister_listener(RamDiscardManager *rdm,
g_assert(rdl->section->mr == &vmem->memdev->mr);
if (vmem->size) {
- if (rdl->double_discard_supported) {
- rdl->notify_discard(rdl, rdl->section);
- } else {
- virtio_mem_for_each_plugged_section(vmem, rdl->section, rdl,
- virtio_mem_notify_discard_cb);
- }
+ rdl->notify_discard(rdl, rdl->section);
}
memory_region_section_free_copy(rdl->section);
diff --git a/system/ram-block-attributes.c b/system/ram-block-attributes.c
index 9f72a6b3545..630b0fda126 100644
--- a/system/ram-block-attributes.c
+++ b/system/ram-block-attributes.c
@@ -61,16 +61,6 @@ ram_block_attributes_notify_populate_cb(MemoryRegionSection *section,
return rdl->notify_populate(rdl, section);
}
-static int
-ram_block_attributes_notify_discard_cb(MemoryRegionSection *section,
- void *arg)
-{
- RamDiscardListener *rdl = arg;
-
- rdl->notify_discard(rdl, section);
- return 0;
-}
-
static int
ram_block_attributes_for_each_populated_section(const RamBlockAttributes *attr,
MemoryRegionSection *section,
@@ -191,22 +181,11 @@ ram_block_attributes_rdm_unregister_listener(RamDiscardManager *rdm,
RamDiscardListener *rdl)
{
RamBlockAttributes *attr = RAM_BLOCK_ATTRIBUTES(rdm);
- int ret;
g_assert(rdl->section);
g_assert(rdl->section->mr == attr->ram_block->mr);
- if (rdl->double_discard_supported) {
- rdl->notify_discard(rdl, rdl->section);
- } else {
- ret = ram_block_attributes_for_each_populated_section(attr,
- rdl->section, rdl, ram_block_attributes_notify_discard_cb);
- if (ret) {
- error_report("%s: Failed to unregister RAM discard listener: %s",
- __func__, strerror(-ret));
- exit(1);
- }
- }
+ rdl->notify_discard(rdl, rdl->section);
memory_region_section_free_copy(rdl->section);
rdl->section = NULL;
--
2.52.0