Skip to content

Add support for flushing PTEs on shared memory regions#30

Open
d-tatianin wants to merge 7 commits intomasterfrom
pte-flush-shared
Open

Add support for flushing PTEs on shared memory regions#30
d-tatianin wants to merge 7 commits intomasterfrom
pte-flush-shared

Conversation

@d-tatianin
Copy link
Collaborator

No description provided.

Even if all vrings are stopped we still want to perform a PTE flush if
one was requested.

Also get rid of a redundant 'any_started' boolean, which is already
available as a 'num_vrings_in_flight' counter.

Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru>
The generation counter allows to optimize the case of cloning a shared
region by reusing an already existing mapping with a higher generation
if one exists.

Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru>
Same as region_get_cached, but allows to specify whether the region's
reference counter should be incremented. Will be used in the following
commits.

Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru>
This returns true if at least one region is shared between the provided
memory maps. Will be used in the following commits.

Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru>
This is the same as vhd_memmap_dup_remap, but becomes a no-op in case
the provided memory map is already using the latest generation for all
of its regions.

Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru>
Otherwise we might clear whatever new callback it decides to arm in the
process.

Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru>
This is implemented via a new type of internal vhost request that is
sent to all disks sharing a mapping that is being flushed.

Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant