Skip to content

Tags: openSUSE/qemu

Tags

tdx-upstream-snapshot-2024-12-18

Toggle tdx-upstream-snapshot-2024-12-18's commit message
[RFC] memory: Add a new argument to indicate the request attribute in…

… RamDismcardManager helpers

For each ram_discard_manager helper, add a new argument 'is_private' to
indicate the request attribute. If is_private is true, the operation
targets the private range in the section. For example,
replay_populate(true) will replay the populate operation on private part
in the MemoryRegionSection, while replay_popuate(false) will replay
population on shared part.

This helps to distinguish between the states of private/shared and
discarded/populated. It is essential for guest_memfd_manager which uses
RamDiscardManager interface but can't treat private memory as discarded
memory. This is because it does not align with the expectation of
current RamDiscardManager users (e.g. live migration), who expect that
discarded memory is hot-removed and can be skipped when processing guest
memory. Treating private memory as discarded won't work in the future if
live migration needs to handle private memory. For example, live
migration needs to migrate private memory.

The user of the helper needs to figure out which attribute to
manipulate. For legacy VM case, use is_private=true by default. Private
attribute is only valid in a guest_memfd based VM.

Opportunistically rename the guest_memfd_for_each_{discarded,
populated}_section() to guest_memfd_for_each_{private, shared)_section()
to distinguish between private/shared and discarded/populated at the
same time.

Signed-off-by: Chenyi Qiang <[email protected]>

tdx-upstream-snapshot-2024-12-13

Toggle tdx-upstream-snapshot-2024-12-13's commit message
memory: Add a new argument to indicate the request attribute in RamDi…

…smcardManager helpers

For each ram_discard_manager helper, add a new argument 'is_private' to
indicate the request attribute. If is_private is true, the operation
targets the private range in the section. For example,
replay_populate(true) will replay the populate operation on private part
in the MemoryRegionSection, while replay_popuate(false) will replay
population on shared part.

This helps to distinguish between the states of private/shared and
discarded/populated. It is essential for guest_memfd_manager which uses
RamDiscardManager interface but can't treat private memory as discarded
memory. This is because it does not align with the expectation of
current RamDiscardManager users (e.g. live migration), who expect that
discarded memory is hot-removed and can be skipped when processing guest
memory. Treating private memory as discarded won't work in the future if
live migration needs to handle private memory. For example, live
migration needs to migrate private memory.

The user of the helper needs to figure out which attribute to
manipulate. For legacy VM case, use is_private=true by default. Private
attribute is only valid in a guest_memfd based VM.

Opportunistically rename the guest_memfd_for_each_{discarded,
populated}_section() to guest_memfd_for_each_{private, shared)_section()
to distinguish between private/shared and discarded/populated at the
same time.

Signed-off-by: Chenyi Qiang <[email protected]>

v9.2.0

Toggle v9.2.0's commit message
v9.2.0 release

v9.2.0-rc3

Toggle v9.2.0-rc3's commit message
v9.2.0-rc3 release

v9.2.0-rc2

Toggle v9.2.0-rc2's commit message
v9.2.0-rc2 release

v9.2.0-rc1

Toggle v9.2.0-rc1's commit message
v9.2.0-rc1 release

v9.1.2

Toggle v9.1.2's commit message
v9.1.2 release

v9.0.4

Toggle v9.0.4's commit message
v9.0.4 release

v8.2.8

Toggle v8.2.8's commit message
v8.2.8 release

v7.2.15

Toggle v7.2.15's commit message
v7.2.15 release