summary refs log tree commit diff stats
path: root/docs/devel/codebase.rst
diff options
context:
space:
mode:
authorPeter Xu <peterx@redhat.com>2025-06-13 10:12:07 -0400
committerFabiano Rosas <farosas@suse.de>2025-07-11 10:37:37 -0300
commitb2819530e3134fb47c92c1bf0f3def8ea5b1c8ee (patch)
treef4c4a944c75490d88e2043f7624633e95f0145c3 /docs/devel/codebase.rst
parentc0f47dfb5b06c40ef41641a5f03ebafa8125c557 (diff)
downloadfocaccia-qemu-b2819530e3134fb47c92c1bf0f3def8ea5b1c8ee.tar.gz
focaccia-qemu-b2819530e3134fb47c92c1bf0f3def8ea5b1c8ee.zip
migration/postcopy: Make all blocktime vars 64bits
I am guessing it was used to be 32bits because of the atomic ops.  Now all
the atomic ops are gone and we're protected by a mutex instead, it's ok we
can switch to 64 bits.

Reasons to move over:

  - Allow further patches to change the unit from ms to us: with postcopy
  preempt mode, we're really into hundreds of microseconds level on
  blocktime.  We'd better be able to trap those.

  - This also paves way for some other tricks that the original version
  used to avoid overflows, e.g., start_time was almost only useful before
  to make sure the sampled timestamp won't overflow a 32-bit field.

  - This prepares further reports on top of existing data collected,
  e.g. average page fault latencies.  When average operation is taken into
  account, milliseconds are simply too coarse grained.

When at it:

  - Rename page_fault_vcpu_time to vcpu_blocktime_start.

  - Rename vcpu_blocktime to vcpu_blocktime_total.

  - Touch up the trace-events to not dump blocktime ctx pointer

Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20250613141217.474825-5-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Diffstat (limited to 'docs/devel/codebase.rst')
0 files changed, 0 insertions, 0 deletions