Add BCC/eBPF script to analyze userfaultfd write fault latency distribution.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
scripts/userfaultfd-wrlat.py | 122 +++
1 file changed, 122 insertions(+)
create mode 100755 scripts/userfaultfd-wrlat.py
diff
Glue code to the userfaultfd kernel implementation.
Querying feature support, createing file descriptor, feature control,
memory region registration, IOCTLs on registered registered regions.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
include/exec/memory.h | 1 +
Introducing implementation of 'background' snapshot thread
which in overall follows the logic of precopy migration
while internally utilizes completely different mechanism
to 'freeze' vmstate at the start of snapshot creation.
This mechanism is based on userfault_fd with wr-protection
support and
In this particular implementation the same single migration
thread is responsible for both normal linear dirty page
migration and procesing UFFD page fault events.
Processing write faults includes reading UFFD file descriptor,
finding respective RAM block and saving faulting page to
the migration
Add new capability to 'qapi/migration.json' schema.
Update migrate_caps_check() to validate enabled capability set
against introduced one. Perform checks for required kernel features
and compatibility with guest memory backends.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
Acked-by:
This patch series is a kind of 'rethinking' of Denis Plotnikov's ideas he's
implemented in his series '[PATCH v0 0/4] migration: add background snapshot'.
Currently the only way to make (external) live VM snapshot is using existing
dirty page logging migration mechanism. The main problem is that
In this particular implementation the same single migration
thread is responsible for both normal linear dirty page
migration and procesing UFFD page fault events.
Processing write faults includes reading UFFD file descriptor,
finding respective RAM block and saving faulting page to
the migration
Add new capability to 'qapi/migration.json' schema.
Update migrate_caps_check() to validate enabled capability set
against introduced one. Perform checks for required kernel features
and compatibility with guest memory backends.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
Acked-by:
Add BCC/eBPF script to analyze userfaultfd write fault latency distribution.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
scripts/userfaultfd-wrlat.py | 122 +++
1 file changed, 122 insertions(+)
create mode 100755 scripts/userfaultfd-wrlat.py
diff
Introducing implementation of 'background' snapshot thread
which in overall follows the logic of precopy migration
while internally utilizes completely different mechanism
to 'freeze' vmstate at the start of snapshot creation.
This mechanism is based on userfault_fd with wr-protection
support and
Glue code to the userfaultfd kernel implementation.
Querying feature support, createing file descriptor, feature control,
memory region registration, IOCTLs on registered registered regions.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
include/exec/memory.h | 1 +
This patch series is a kind of 'rethinking' of Denis Plotnikov's ideas he's
implemented in his series '[PATCH v0 0/4] migration: add background snapshot'.
Currently the only way to make (external) live VM snapshot is using existing
dirty page logging migration mechanism. The main problem is that
Add BCC/eBPF script to analyze userfaultfd write fault latency distribution.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
scripts/userfaultfd-wrlat.py | 122 +++
1 file changed, 122 insertions(+)
create mode 100755 scripts/userfaultfd-wrlat.py
diff
Introducing implementation of 'background' snapshot thread
which in overall follows the logic of precopy migration
while internally utilizes completely different mechanism
to 'freeze' vmstate at the start of snapshot creation.
This mechanism is based on userfault_fd with wr-protection
support and
In this particular implementation the same single migration
thread is responsible for both normal linear dirty page
migration and procesing UFFD page fault events.
Processing write faults includes reading UFFD file descriptor,
finding respective RAM block and saving faulting page to
the migration
Glue code to the userfaultfd kernel implementation.
Querying feature support, createing file descriptor, feature control,
memory region registration, IOCTLs on registered registered regions.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
include/exec/memory.h | 1 +
Add new capability to 'qapi/migration.json' schema.
Update migrate_caps_check() to validate enabled capability set
against introduced one. Perform checks for required kernel features
and compatibility with guest memory backends.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
Acked-by:
This patch series is a kind of 'rethinking' of Denis Plotnikov's ideas he's
implemented in his series '[PATCH v0 0/4] migration: add background snapshot'.
Currently the only way to make (external) live VM snapshot is using existing
dirty page logging migration mechanism. The main problem is that
Add BCC/eBPF script to analyze userfaultfd write fault latency distribution.
Signed-off-by: Andrey Gruzdev
Acked-by: Peter Xu
---
scripts/userfaultfd-wrlat.py | 148 +++
1 file changed, 148 insertions(+)
create mode 100755 scripts/userfaultfd-wrlat.py
diff
Introducing implementation of 'background' snapshot thread
which in overall follows the logic of precopy migration
while internally utilizes completely different mechanism
to 'freeze' vmstate at the start of snapshot creation.
This mechanism is based on userfault_fd with wr-protection
support and
In this particular implementation the same single migration
thread is responsible for both normal linear dirty page
migration and procesing UFFD page fault events.
Processing write faults includes reading UFFD file descriptor,
finding respective RAM block and saving faulting page to
the migration
Add new capability to 'qapi/migration.json' schema.
Update migrate_caps_check() to validate enabled capability set
against introduced one. Perform checks for required kernel features
and compatibility with guest memory backends.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
Acked-by:
Glue code to the userfaultfd kernel implementation.
Querying feature support, createing file descriptor, feature control,
memory region registration, IOCTLs on registered registered regions.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
include/exec/memory.h | 1 +
This patch series is a kind of 'rethinking' of Denis Plotnikov's ideas he's
implemented in his series '[PATCH v0 0/4] migration: add background snapshot'.
Currently the only way to make (external) live VM snapshot is using existing
dirty page logging migration mechanism. The main problem is that
Add new capability to 'qapi/migration.json' schema.
Update migrate_caps_check() to validate enabled capability set
against introduced one. Perform checks for required kernel features
and compatibility with guest memory backends.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
Acked-by:
This patch series is a kind of 'rethinking' of Denis Plotnikov's ideas he's
implemented in his series '[PATCH v0 0/4] migration: add background snapshot'.
Currently the only way to make (external) live VM snapshot is using existing
dirty page logging migration mechanism. The main problem is that
Introducing implementation of 'background' snapshot thread
which in overall follows the logic of precopy migration
while internally utilizes completely different mechanism
to 'freeze' vmstate at the start of snapshot creation.
This mechanism is based on userfault_fd with wr-protection
support and
Add BCC/eBPF script to analyze userfaultfd write fault latency distribution.
Signed-off-by: Andrey Gruzdev
---
scripts/userfaultfd-wrlat.py | 148 +++
1 file changed, 148 insertions(+)
create mode 100755 scripts/userfaultfd-wrlat.py
diff --git
In this particular implementation the same single migration
thread is responsible for both normal linear dirty page
migration and procesing UFFD page fault events.
Processing write faults includes reading UFFD file descriptor,
finding respective RAM block and saving faulting page to
the migration
Glue code to the userfaultfd kernel implementation.
Querying feature support, createing file descriptor, feature control,
memory region registration, IOCTLs on registered registered regions.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
include/exec/memory.h | 1 +
In this particular implementation the same single migration
thread is responsible for both normal linear dirty page
migration and procesing UFFD page fault events.
Processing write faults includes reading UFFD file descriptor,
finding respective RAM block and saving faulting page to
the migration
Introducing implementation of 'background' snapshot thread
which in overall follows the logic of precopy migration
while internally utilizes completely different mechanism
to 'freeze' vmstate at the start of snapshot creation.
This mechanism is based on userfault_fd with wr-protection
support and
Glue code to the userfaultfd kernel implementation.
Querying feature support, createing file descriptor, feature control,
memory region registration, IOCTLs on registered registered regions.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
include/exec/memory.h | 1 +
Add BCC/eBPF script to analyze userfaultfd write fault latency distribution.
Signed-off-by: Andrey Gruzdev
---
scripts/userfaultfd-wrlat.py | 148 +++
1 file changed, 148 insertions(+)
create mode 100755 scripts/userfaultfd-wrlat.py
diff --git
Add new capability to 'qapi/migration.json' schema.
Update migrate_caps_check() to validate enabled capability set
against introduced one. Perform checks for required kernel features
and compatibility with guest memory backends.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
This patch series is a kind of 'rethinking' of Denis Plotnikov's ideas he's
implemented in his series '[PATCH v0 0/4] migration: add background snapshot'.
Currently the only way to make (external) live VM snapshot is using existing
dirty page logging migration mechanism. The main problem is that
Add BCC/eBPF script to analyze userfaultfd write fault latency distribution.
Signed-off-by: Andrey Gruzdev
---
scripts/userfaultfd-wrlat.py | 148 +++
1 file changed, 148 insertions(+)
create mode 100755 scripts/userfaultfd-wrlat.py
diff --git
Introducing implementation of 'background' snapshot thread
which in overall follows the logic of precopy migration
while internally utilizes completely different mechanism
to 'freeze' vmstate at the start of snapshot creation.
This mechanism is based on userfault_fd with wr-protection
support and
Add new capability to 'qapi/migration.json' schema.
Update migrate_caps_check() to validate enabled capability set
against introduced one. Perform checks for required kernel features
and compatibility with guest memory backends.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
Glue code to the userfaultfd kernel implementation.
Querying feature support, createing file descriptor, feature control,
memory region registration, IOCTLs on registered registered regions.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
include/exec/memory.h | 1 +
In this particular implementation the same single migration
thread is responsible for both normal linear dirty page
migration and procesing UFFD page fault events.
Processing write faults includes reading UFFD file descriptor,
finding respective RAM block and saving faulting page to
the migration
This patch series is a kind of 'rethinking' of Denis Plotnikov's ideas he's
implemented in his series '[PATCH v0 0/4] migration: add background snapshot'.
Currently the only way to make (external) live VM snapshot is using existing
dirty page logging migration mechanism. The main problem is that
Introducing implementation of 'background' snapshot thread
which in overall follows the logic of precopy migration
while internally utilizes completely different mechanism
to 'freeze' vmstate at the start of snapshot creation.
This mechanism is based on userfault_fd with wr-protection
support and
Add BCC/eBPF script to analyze userfaultfd write fault latency distribution.
Signed-off-by: Andrey Gruzdev
---
scripts/userfaultfd-wrlat.py | 148 +++
1 file changed, 148 insertions(+)
create mode 100755 scripts/userfaultfd-wrlat.py
diff --git
Glue code to the userfaultfd kernel implementation.
Querying feature support, createing file descriptor, feature control,
memory region registration, IOCTLs on registered registered regions.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
include/exec/memory.h | 1 +
In this particular implementation the same single migration
thread is responsible for both normal linear dirty page
migration and procesing UFFD page fault events.
Processing write faults includes reading UFFD file descriptor,
finding respective RAM block and saving faulting page to
the migration
This patch series is a kind of 'rethinking' of Denis Plotnikov's ideas he's
implemented in his series '[PATCH v0 0/4] migration: add background snapshot'.
Currently the only way to make (external) live VM snapshot is using existing
dirty page logging migration mechanism. The main problem is that
Add new capability to 'qapi/migration.json' schema.
Update migrate_caps_check() to validate enabled capability set
against introduced one. Perform checks for required kernel features
and compatibility with guest memory backends.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
Add BCC/eBPF script to analyze userfaultfd write fault latency distribution.
Signed-off-by: Andrey Gruzdev
---
scripts/userfaultfd-wrlat.py | 148 +++
1 file changed, 148 insertions(+)
create mode 100755 scripts/userfaultfd-wrlat.py
diff --git
Introducing implementation of 'background' snapshot thread
which in overall follows the logic of precopy migration
while internally utilizes completely different mechanism
to 'freeze' vmstate at the start of snapshot creation.
This mechanism is based on userfault_fd with wr-protection
support and
Add new capability to 'qapi/migration.json' schema.
Update migrate_caps_check() to validate enabled capability set
against introduced one. Perform checks for required kernel features
and compatibility with guest memory backends.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
In this particular implementation the same single migration
thread is responsible for both normal linear dirty page
migration and procesing UFFD page fault events.
Processing write faults includes reading UFFD file descriptor,
finding respective RAM block and saving faulting page to
the migration
Glue code to the userfaultfd kernel implementation.
Querying feature support, createing file descriptor, feature control,
memory region registration, IOCTLs on registered registered regions.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
include/exec/memory.h | 1 +
This patch series is a kind of 'rethinking' of Denis Plotnikov's ideas he's
implemented in his series '[PATCH v0 0/4] migration: add background snapshot'.
Currently the only way to make (external) live VM snapshot is using existing
dirty page logging migration mechanism. The main problem is that
Add new capability to 'qapi/migration.json' schema.
Update migrate_caps_check() to validate enabled capability set
against introduced one. Perform checks for required kernel features
and compatibility with guest memory backends.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
Glue code to the userfaultfd kernel implementation.
Querying feature support, createing file descriptor, feature control,
memory region registration, IOCTLs on registered registered regions.
Signed-off-by: Andrey Gruzdev
Reviewed-by: Peter Xu
---
include/exec/memory.h | 1 +
Introducing implementation of 'background' snapshot thread
which in overall follows the logic of precopy migration
while internally utilizes completely different mechanism
to 'freeze' vmstate at the start of snapshot creation.
This mechanism is based on userfault_fd with wr-protection
support and
In this particular implementation the same single migration
thread is responsible for both normal linear dirty page
migration and procesing UFFD page fault events.
Processing write faults includes reading UFFD file descriptor,
finding respective RAM block and saving faulting page to
the migration
This patch series is a kind of 'rethinking' of Denis Plotnikov's ideas he's
implemented in his series '[PATCH v0 0/4] migration: add background snapshot'.
Currently the only way to make (external) live VM snapshot is using existing
dirty page logging migration mechanism. The main problem is that
Glue code to the userfaultfd kernel implementation.
Querying feature support, createing file descriptor, feature control,
memory region registration, IOCTLs on registered registered regions.
Signed-off-by: Andrey Gruzdev
---
include/exec/memory.h | 1 +
include/qemu/userfaultfd.h | 35
This patch series is a kind of 'rethinking' of Denis Plotnikov's ideas he's
implemented in his series '[PATCH v0 0/4] migration: add background snapshot'.
Currently the only way to make (external) live VM snapshot is using existing
dirty page logging migration mechanism. The main problem is that
Add new capability to 'qapi/migration.json' schema.
Update migrate_caps_check() to validate enabled capability set
against introduced one. Perform checks for required kernel features
and compatibility with guest memory backends.
Signed-off-by: Andrey Gruzdev
---
migration/migration.c | 116
In this particular implementation the same single migration
thread is responsible for both normal linear dirty page
migration and procesing UFFD page fault events.
Processing write faults includes reading UFFD file descriptor,
finding respective RAM block and saving faulting page to
the migration
Introducing implementation of 'background' snapshot thread
which in overall follows the logic of precopy migration
while internally utilizes completely different mechanism
to 'freeze' vmstate at the start of snapshot creation.
This mechanism is based on userfault_fd with wr-protection
support and
Implementation of bg_migration- iteration/completion/finish.
Signed-off-by: Andrey Gruzdev
---
migration/migration.c | 74 +--
1 file changed, 72 insertions(+), 2 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
index
Introducing implementation of 'background' snapshot thread
which in overall follows the logic of precopy migration
while internally utilizes completely different mechanism
to 'freeze' vmstate at the start of snapshot creation.
This mechanism is based on userfault_fd with wr-protection
support and
In this particular implementation the same single migration
thread is responsible for both normal linear dirty page
migration and procesing UFFD page fault events.
Processing write faults includes reading UFFD file descriptor,
finding respective RAM block and saving faulting page to
the migration
Since reading UFFD events and saving paged data are performed
from the same thread, write fault latencies are sensitive to
migration stream stalls. Limiting total page saving rate is a
method to reduce amount of noticiable fault resolution latencies.
Migration bandwidth limiting is achieved via
Implemented support for the whole RAM block memory
protection/un-protection. Introduced higher level
ram_write_tracking_start() and ram_write_tracking_stop()
to start/stop tracking guest memory writes.
Signed-off-by: Andrey Gruzdev
---
include/exec/memory.h | 7 ++
Signed-off-by: Andrey Gruzdev
---
migration/migration.c | 67 +++
migration/migration.h | 1 +
qapi/migration.json | 7 -
3 files changed, 74 insertions(+), 1 deletion(-)
diff --git a/migration/migration.c b/migration/migration.c
index
This patch series is a kind of 'rethinking' of Denis Plotnikov's ideas he's
implemented in his series '[PATCH v0 0/4] migration: add background snapshot'.
Currently the only way to make (external) live VM snapshot is using existing
dirty page logging migration mechanism. The main problem is that
To avoid saving updated versions of memory pages we need
to start tracking RAM writes before we resume operation of
vCPUs. This sequence is especially critical for virtio device
backends whos VQs are mapped to main memory and accessed
directly not using MMIO callbacks.
One problem is that
Implemented support for the whole RAM block memory
protection/un-protection. Introduced higher level
ram_write_tracking_start() and ram_write_tracking_stop()
to start/stop tracking guest memory writes.
Signed-off-by: Andrey Gruzdev
---
include/exec/memory.h | 7 ++
migration/ram.c | 267
Signed-off-by: Andrey Gruzdev
---
migration/migration.c | 72 +--
1 file changed, 70 insertions(+), 2 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
index dba388f8bd..ccb451b238 100644
--- a/migration/migration.c
+++
Since reading UFFD events and saving paged data are performed
from the same thread, write fault latencies are sensitive to
migration stream stalls. Limiting total page saving rate is a
method to reduce amount of noticiable fault resolution latencies.
Migration bandwidth limiting is achieved via
Signed-off-by: Andrey Gruzdev
---
migration/migration.c | 168 +-
migration/migration.h | 3 +
migration/savevm.c| 1 -
migration/savevm.h| 2 +
4 files changed, 171 insertions(+), 3 deletions(-)
diff --git a/migration/migration.c
In this particular implementation the same single migration
thread is responsible for both normal linear dirty page
migration and procesing UFFD page fault events.
Processing write faults includes reading UFFD file descriptor,
finding respective RAM block and saving faulting page to
the migration
Signed-off-by: Andrey Gruzdev
---
migration/migration.c | 96 +++
migration/migration.h | 1 +
qapi/migration.json | 7 +++-
3 files changed, 103 insertions(+), 1 deletion(-)
diff --git a/migration/migration.c b/migration/migration.c
index
Changes with v3:
* coding style fixes to pass checkpatch test
* qapi/migration.json: change 'track-writes-ram' capability
* supported version to 6.0
* fixes to commit message format
This patch series is a kind of 'rethinking' of Denis Plotnikov's ideas he's
implemented in
Signed-off-by: Andrey Gruzdev
---
migration/migration.c | 168 +-
migration/migration.h | 3 +
migration/savevm.c| 1 -
migration/savevm.h| 2 +
4 files changed, 171 insertions(+), 3 deletions(-)
diff --git a/migration/migration.c
To avoid saving updated versions of memory pages we need
to start tracking RAM writes before we resume operation of
vCPUs. This sequence is especially critical for virtio device
backends whos VQs are mapped to main memory and accessed
directly not using MMIO callbacks.
One problem is that
Signed-off-by: Andrey Gruzdev
---
migration/migration.c | 72 +--
1 file changed, 70 insertions(+), 2 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
index dba388f8bd..ccb451b238 100644
--- a/migration/migration.c
+++
In this particular implementation the same single migration
thread is responsible for both normal linear dirty page
migration and procesing UFFD page fault events.
Processing write faults includes reading UFFD file descriptor,
finding respective RAM block and saving faulting page to
the migration
Currently the only way to make (external) live VM snapshot is using existing
dirty page logging migration mechanism. The main problem is that it tends to
produce a lot of page duplicates while running VM goes on updating already
saved pages. That leads to the fact that vmstate image size is
Signed-off-by: Andrey Gruzdev
---
include/exec/memory.h | 7 ++
migration/ram.c | 267 ++
migration/ram.h | 4 +
3 files changed, 278 insertions(+)
diff --git a/include/exec/memory.h b/include/exec/memory.h
index 0f3e6bcd5e..3d798fce16
Signed-off-by: Andrey Gruzdev
---
migration/migration.c | 96 +++
migration/migration.h | 1 +
qapi/migration.json | 7 +++-
3 files changed, 103 insertions(+), 1 deletion(-)
diff --git a/migration/migration.c b/migration/migration.c
index
Since reading UFFD events and saving paged data are performed
from the same thread, write fault latencies are sensitive to
migration stream stalls. Limiting total page saving rate is a
method to reduce amount of noticiable fault resolution latencies.
Migration bandwidth limiting is achieved via
Signed-off-by: Andrey Gruzdev
---
migration/migration.c | 72 +--
1 file changed, 70 insertions(+), 2 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
index dba388f8bd..48793b748b 100644
--- a/migration/migration.c
+++
Currently the only way to make (external) live VM snapshot is using existing
dirty page logging migration mechanism. The main problem is that it tends to
produce a lot of page duplicates while running VM goes on updating already
saved pages. That leads to the fact that vmstate image size is
Signed-off-by: Andrey Gruzdev
---
include/exec/memory.h | 7 ++
migration/ram.c | 267 ++
migration/ram.h | 4 +
3 files changed, 278 insertions(+)
diff --git a/include/exec/memory.h b/include/exec/memory.h
index 0f3e6bcd5e..3d798fce16
In this particular implementation the same single migration
thread is responsible for both normal linear dirty page
migration and procesing UFFD page fault events.
Processing write faults includes reading UFFD file descriptor,
finding respective RAM block and saving faulting page to
the migration
Signed-off-by: Andrey Gruzdev
---
migration/migration.c | 96 +++
migration/migration.h | 1 +
qapi/migration.json | 7 +++-
3 files changed, 103 insertions(+), 1 deletion(-)
diff --git a/migration/migration.c b/migration/migration.c
index
To avoid saving updated versions of memory pages we need
to start tracking RAM writes before we resume operation of
vCPUs. This sequence is especially critical for virtio device
backends whos VQs are mapped to main memory and accessed
directly not using MMIO callbacks.
One problem is that
Since reading UFFD events and saving paged data are performed
from the same thread, write fault latencies are sensitive to
migration stream stalls. Limiting total page saving rate is a
method to reduce amount of noticiable fault resolution latencies.
Migration bandwidth limiting is achieved via
Signed-off-by: Andrey Gruzdev
---
migration/migration.c | 168 +-
migration/migration.h | 3 +
migration/savevm.c| 1 -
migration/savevm.h| 2 +
4 files changed, 171 insertions(+), 3 deletions(-)
diff --git a/migration/migration.c
Signed-off-by: Andrey Gruzdev
---
include/exec/memory.h | 7 ++
migration/ram.c | 267 ++
migration/ram.h | 4 +
3 files changed, 278 insertions(+)
diff --git a/include/exec/memory.h b/include/exec/memory.h
index 0f3e6bcd5e..3d798fce16
To avoid saving updated versions of memory pages we need
to start tracking RAM writes before we resume operation of
vCPUs. This sequence is especially critical for virtio device
backends whos VQs are mapped to main memory and accessed
directly not using MMIO callbacks.
One problem is that
Signed-off-by: Andrey Gruzdev
---
migration/migration.c | 96 +++
migration/migration.h | 1 +
qapi/migration.json | 7 +++-
3 files changed, 103 insertions(+), 1 deletion(-)
diff --git a/migration/migration.c b/migration/migration.c
index
Signed-off-by: Andrey Gruzdev
---
migration/migration.c | 72 +--
1 file changed, 70 insertions(+), 2 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
index 381da4a4d3..92bcb9105d 100644
--- a/migration/migration.c
+++
Since reading UFFD events and saving paged data are performed
from the same thread, write fault latencies are sensitive to
migration stream stalls. Limiting total page saving rate is a
method to reduce amount of noticiable fault resolution latencies.
Migration bandwidth limiting is achieved via
1 - 100 of 103 matches
Mail list logo