[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 09/27] migration: calculate vCPU blocktime on dst
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [PULL 09/27] migration: calculate vCPU blocktime on dst side |
Date: |
Tue, 16 Jan 2018 17:43:42 +0000 |
User-agent: |
Mutt/1.9.1 (2017-09-22) |
* Max Reitz (address@hidden) wrote:
> On 2018-01-15 12:52, Juan Quintela wrote:
> > From: Alexey Perevalov <address@hidden>
> >
> > This patch provides blocktime calculation per vCPU,
> > as a summary and as a overlapped value for all vCPUs.
> >
> > This approach was suggested by Peter Xu, as an improvements of
> > previous approch where QEMU kept tree with faulted page address and cpus
> > bitmask
> > in it. Now QEMU is keeping array with faulted page address as value and vCPU
> > as index. It helps to find proper vCPU at UFFD_COPY time. Also it keeps
> > list for blocktime per vCPU (could be traced with page_fault_addr)
> >
> > Blocktime will not calculated if postcopy_blocktime field of
> > MigrationIncomingState wasn't initialized.
> >
> > Signed-off-by: Alexey Perevalov <address@hidden>
> > Reviewed-by: Dr. David Alan Gilbert <address@hidden>
> > Reviewed-by: Juan Quintela <address@hidden>
> > Signed-off-by: Juan Quintela <address@hidden>
> > ---
> > migration/postcopy-ram.c | 143
> > ++++++++++++++++++++++++++++++++++++++++++++++-
> > migration/trace-events | 5 +-
> > 2 files changed, 146 insertions(+), 2 deletions(-)
>
> For me, this breaks compilation with clang -m32:
>
> LINK x86_64-softmmu/qemu-system-x86_64
> ../migration/postcopy-ram.o: In function `mark_postcopy_blocktime_begin':
> /home/maxx/projects/qemu/migration/postcopy-ram.c:599: undefined
> reference to `__atomic_exchange_8'
> /home/maxx/projects/qemu/migration/postcopy-ram.c:600: undefined
> reference to `__atomic_exchange_8'
> /home/maxx/projects/qemu/migration/postcopy-ram.c:609: undefined
> reference to `__atomic_exchange_8'
> ../migration/postcopy-ram.o: In function `mark_postcopy_blocktime_end':
> /home/maxx/projects/qemu/migration/postcopy-ram.c:665: undefined
> reference to `__atomic_fetch_add_8'
> /home/maxx/projects/qemu/migration/postcopy-ram.c:686: undefined
> reference to `__atomic_fetch_add_8'
>
> Am I doing something wrong?
Hmm I also see that with clang on 32bit (gcc is fine);
the problem is the postcopy blocktime stuff is doing some 64bit
atomics, which you can never be sure 32bit will support.
Dave
> Max
>
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK
- [Qemu-devel] [PULL 01/27] migration: Use proper types in json, (continued)
- [Qemu-devel] [PULL 01/27] migration: Use proper types in json, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 03/27] migration: free addr in the same function that we created it, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 05/27] migration: free result string, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 04/27] docs: Convert migration.txt to rst, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 06/27] migration: fix analyze-migration.py script with radix table, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 07/27] migration: introduce postcopy-blocktime capability, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 08/27] migration: add postcopy blocktime ctx into MigrationIncomingState, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 09/27] migration: calculate vCPU blocktime on dst side, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 10/27] migration: postcopy_blocktime documentation, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 11/27] migration: add blocktime calculation into migration-test, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 12/27] migration: add postcopy total blocktime into query-migrate, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 13/27] migration: Guard ram_bytes_remaining against early call, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 14/27] migration: finalize current_migration object, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 16/27] migration: qemu_savevm_state_cleanup() in cleanup, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 15/27] migration: assert colo instead of check, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 17/27] migration: remove "enable_colo" var, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 18/27] migration: split use of MigrationState.total_time, Juan Quintela, 2018/01/15