mirror of
https://github.com/qemu/qemu.git
synced 2025-08-16 14:54:29 +00:00
migration: Move ram_stats to its own file migration-stats.[ch]
There is already include/qemu/stats.h, so stats.h was a bad idea. We want this file to not depend on anything else, we will move all the migration counters/stats to this struct. Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Lukas Straub <lukasstraub2@web.de>
This commit is contained in:
parent
e232199aad
commit
947701cc1a
@ -19,6 +19,7 @@ softmmu_ss.add(files(
|
|||||||
'fd.c',
|
'fd.c',
|
||||||
'global_state.c',
|
'global_state.c',
|
||||||
'migration-hmp-cmds.c',
|
'migration-hmp-cmds.c',
|
||||||
|
'migration-stats.c',
|
||||||
'migration.c',
|
'migration.c',
|
||||||
'multifd.c',
|
'multifd.c',
|
||||||
'multifd-zlib.c',
|
'multifd-zlib.c',
|
||||||
|
17
migration/migration-stats.c
Normal file
17
migration/migration-stats.c
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
/*
|
||||||
|
* Migration stats
|
||||||
|
*
|
||||||
|
* Copyright (c) 2012-2023 Red Hat Inc
|
||||||
|
*
|
||||||
|
* Authors:
|
||||||
|
* Juan Quintela <quintela@redhat.com>
|
||||||
|
*
|
||||||
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
||||||
|
* See the COPYING file in the top-level directory.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "qemu/osdep.h"
|
||||||
|
#include "qemu/stats64.h"
|
||||||
|
#include "migration-stats.h"
|
||||||
|
|
||||||
|
RAMStats ram_counters;
|
41
migration/migration-stats.h
Normal file
41
migration/migration-stats.h
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
/*
|
||||||
|
* Migration stats
|
||||||
|
*
|
||||||
|
* Copyright (c) 2012-2023 Red Hat Inc
|
||||||
|
*
|
||||||
|
* Authors:
|
||||||
|
* Juan Quintela <quintela@redhat.com>
|
||||||
|
*
|
||||||
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
||||||
|
* See the COPYING file in the top-level directory.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef QEMU_MIGRATION_STATS_H
|
||||||
|
#define QEMU_MIGRATION_STATS_H
|
||||||
|
|
||||||
|
#include "qemu/stats64.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* These are the ram migration statistic counters. It is loosely
|
||||||
|
* based on MigrationStats. We change to Stat64 any counter that
|
||||||
|
* needs to be updated using atomic ops (can be accessed by more than
|
||||||
|
* one thread).
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
Stat64 dirty_bytes_last_sync;
|
||||||
|
Stat64 dirty_pages_rate;
|
||||||
|
Stat64 dirty_sync_count;
|
||||||
|
Stat64 dirty_sync_missed_zero_copy;
|
||||||
|
Stat64 downtime_bytes;
|
||||||
|
Stat64 zero_pages;
|
||||||
|
Stat64 multifd_bytes;
|
||||||
|
Stat64 normal_pages;
|
||||||
|
Stat64 postcopy_bytes;
|
||||||
|
Stat64 postcopy_requests;
|
||||||
|
Stat64 precopy_bytes;
|
||||||
|
Stat64 transferred;
|
||||||
|
} RAMStats;
|
||||||
|
|
||||||
|
extern RAMStats ram_counters;
|
||||||
|
|
||||||
|
#endif
|
@ -29,6 +29,7 @@
|
|||||||
#include "migration/global_state.h"
|
#include "migration/global_state.h"
|
||||||
#include "migration/misc.h"
|
#include "migration/misc.h"
|
||||||
#include "migration.h"
|
#include "migration.h"
|
||||||
|
#include "migration-stats.h"
|
||||||
#include "savevm.h"
|
#include "savevm.h"
|
||||||
#include "qemu-file.h"
|
#include "qemu-file.h"
|
||||||
#include "channel.h"
|
#include "channel.h"
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "ram.h"
|
#include "ram.h"
|
||||||
#include "migration.h"
|
#include "migration.h"
|
||||||
|
#include "migration-stats.h"
|
||||||
#include "socket.h"
|
#include "socket.h"
|
||||||
#include "tls.h"
|
#include "tls.h"
|
||||||
#include "qemu-file.h"
|
#include "qemu-file.h"
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
#include "xbzrle.h"
|
#include "xbzrle.h"
|
||||||
#include "ram.h"
|
#include "ram.h"
|
||||||
#include "migration.h"
|
#include "migration.h"
|
||||||
|
#include "migration-stats.h"
|
||||||
#include "migration/register.h"
|
#include "migration/register.h"
|
||||||
#include "migration/misc.h"
|
#include "migration/misc.h"
|
||||||
#include "qemu-file.h"
|
#include "qemu-file.h"
|
||||||
@ -460,8 +461,6 @@ uint64_t ram_bytes_remaining(void)
|
|||||||
0;
|
0;
|
||||||
}
|
}
|
||||||
|
|
||||||
RAMStats ram_counters;
|
|
||||||
|
|
||||||
void ram_transferred_add(uint64_t bytes)
|
void ram_transferred_add(uint64_t bytes)
|
||||||
{
|
{
|
||||||
if (runstate_is_running()) {
|
if (runstate_is_running()) {
|
||||||
|
@ -32,30 +32,7 @@
|
|||||||
#include "qapi/qapi-types-migration.h"
|
#include "qapi/qapi-types-migration.h"
|
||||||
#include "exec/cpu-common.h"
|
#include "exec/cpu-common.h"
|
||||||
#include "io/channel.h"
|
#include "io/channel.h"
|
||||||
#include "qemu/stats64.h"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* These are the ram migration statistic counters. It is loosely
|
|
||||||
* based on MigrationStats. We change to Stat64 any counter that
|
|
||||||
* needs to be updated using atomic ops (can be accessed by more than
|
|
||||||
* one thread).
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
Stat64 dirty_bytes_last_sync;
|
|
||||||
Stat64 dirty_pages_rate;
|
|
||||||
Stat64 dirty_sync_count;
|
|
||||||
Stat64 dirty_sync_missed_zero_copy;
|
|
||||||
Stat64 downtime_bytes;
|
|
||||||
Stat64 zero_pages;
|
|
||||||
Stat64 multifd_bytes;
|
|
||||||
Stat64 normal_pages;
|
|
||||||
Stat64 postcopy_bytes;
|
|
||||||
Stat64 postcopy_requests;
|
|
||||||
Stat64 precopy_bytes;
|
|
||||||
Stat64 transferred;
|
|
||||||
} RAMStats;
|
|
||||||
|
|
||||||
extern RAMStats ram_counters;
|
|
||||||
extern XBZRLECacheStats xbzrle_counters;
|
extern XBZRLECacheStats xbzrle_counters;
|
||||||
extern CompressionStats compression_counters;
|
extern CompressionStats compression_counters;
|
||||||
|
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
#include "net/net.h"
|
#include "net/net.h"
|
||||||
#include "migration.h"
|
#include "migration.h"
|
||||||
#include "migration/snapshot.h"
|
#include "migration/snapshot.h"
|
||||||
|
#include "migration-stats.h"
|
||||||
#include "migration/vmstate.h"
|
#include "migration/vmstate.h"
|
||||||
#include "migration/misc.h"
|
#include "migration/misc.h"
|
||||||
#include "migration/register.h"
|
#include "migration/register.h"
|
||||||
|
Loading…
Reference in New Issue
Block a user