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 +
include/qemu
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: Marku
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 i
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: Marku
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 +
include/qemu
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 i
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 +
include/qemu
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: Marku
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 i
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 --gi
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: Marku
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 +
include/qemu
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 i
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: Marku
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 i
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 a/scripts/userfaul
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 +
include/qemu
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 +
include/qemu
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 a/scripts/userfaul
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
---
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 i
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 a/scripts/userfaul
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
---
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 +
include/qemu
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 i
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 a/scripts/userfaul
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 +
include/qemu
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 i
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
---
migration/
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 a/scripts/userfaul
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
---
migration/
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 +
include/qemu
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 i
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
---
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 +
include/qemu
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 i
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 i
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 c2efaf72f2..ef
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 no
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 ++
include/qemu/userfaultf
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 87a9b59f83..
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 i
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 vm_start
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
+++ b/migration/mi
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 no
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 b/migration
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 87a9b59f83..
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 his
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 b/migration
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 vm_start
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
+++ b/migration/mi
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 commonl
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 1006
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 87a9b59f83..
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 no
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
+++ b/migration/mi
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 commonl
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 1006
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 87a9b59f83..
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 vm_start
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 no
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 b/migration
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 1006
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 vm_start
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 87a9b59f83..
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
+++ b/migration/mi
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 no
1 - 100 of 103 matches
Mail list logo