summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorDavid Hildenbrand <david@redhat.com>2023-07-13 17:55:48 +0300
committerMichael S. Tsirkin <mst@redhat.com>2023-08-10 22:51:46 +0300
commitf504e15b94eb4e5b47f8715da59c0207f68dffe1 (patch)
tree817837364e53ec7e2956d4dd9bac7dccc59bf4f8 /sound
parent8efc365b20dc9a5b0c8fd0e8a195690bf21cd8be (diff)
downloadlinux-f504e15b94eb4e5b47f8715da59c0207f68dffe1.tar.xz
virtio-mem: remove unsafe unplug in Big Block Mode (BBM)
When "unsafe unplug" is enabled, we don't fake-offline all memory ahead of actual memory offlining using alloc_contig_range(). Instead, we rely on offline_pages() to also perform actual page migration, which might fail or take a very long time. In that case, it's possible to easily run into endless loops that cannot be aborted anymore (as offlining is triggered by a workqueue then): For example, a single (accidentally) permanently unmovable page in ZONE_MOVABLE results in an endless loop. For ZONE_NORMAL, races between isolating the pageblock (and checking for unmovable pages) and concurrent page allocation are possible and similarly result in endless loops. The idea of the unsafe unplug mode was to make it possible to more reliably unplug large memory blocks. However, (a) we really should be tackling that differently, by extending the alloc_contig_range()-based mechanism; and (b) this mode is not the default and as far as I know, it's unused either way. So let's simply get rid of it. Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20230713145551.2824980-2-david@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'sound')
0 files changed, 0 insertions, 0 deletions