From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Max Reitz <mreitz@redhat.com>
Cc: Juan Quintela <quintela@redhat.com>,
qemu-devel@nongnu.org, lvivier@redhat.com, peterx@redhat.com,
Alexey Perevalov <a.perevalov@samsung.com>
Subject: Re: [Qemu-devel] [PULL 09/27] migration: calculate vCPU blocktime on dst side
Date: Tue, 16 Jan 2018 17:43:42 +0000 [thread overview]
Message-ID: <20180116174341.GD2521@work-vm> (raw)
In-Reply-To: <215cfa8f-1f2d-1155-bd0b-17ecd10c4c61@redhat.com>
* Max Reitz (mreitz@redhat.com) wrote:
> On 2018-01-15 12:52, Juan Quintela wrote:
> > From: Alexey Perevalov <a.perevalov@samsung.com>
> >
> > 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 <a.perevalov@samsung.com>
> > Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> > Reviewed-by: Juan Quintela <quintela@redhat.com>
> > Signed-off-by: Juan Quintela <quintela@redhat.com>
> > ---
> > 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 / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2018-01-16 17:44 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-15 11:52 [Qemu-devel] [PULL 00/27] Migration pull Juan Quintela
2018-01-15 11:52 ` [Qemu-devel] [PULL 01/27] migration: Use proper types in json Juan Quintela
2018-01-15 11:52 ` [Qemu-devel] [PULL 02/27] migration: print features as on off Juan Quintela
2018-01-15 11:52 ` [Qemu-devel] [PULL 03/27] migration: free addr in the same function that we created it Juan Quintela
2018-01-15 11:52 ` [Qemu-devel] [PULL 04/27] docs: Convert migration.txt to rst Juan Quintela
2018-01-15 11:52 ` [Qemu-devel] [PULL 05/27] migration: free result string Juan Quintela
2018-01-15 11:52 ` [Qemu-devel] [PULL 06/27] migration: fix analyze-migration.py script with radix table Juan Quintela
2018-01-15 11:52 ` [Qemu-devel] [PULL 07/27] migration: introduce postcopy-blocktime capability Juan Quintela
2018-01-15 11:52 ` [Qemu-devel] [PULL 08/27] migration: add postcopy blocktime ctx into MigrationIncomingState Juan Quintela
2018-01-15 11:52 ` [Qemu-devel] [PULL 09/27] migration: calculate vCPU blocktime on dst side Juan Quintela
2018-01-15 20:19 ` Max Reitz
2018-01-16 13:19 ` Juan Quintela
2018-01-16 17:43 ` Dr. David Alan Gilbert [this message]
2018-01-16 19:22 ` Alexey Perevalov
2018-01-15 11:52 ` [Qemu-devel] [PULL 10/27] migration: postcopy_blocktime documentation Juan Quintela
2018-01-15 11:52 ` [Qemu-devel] [PULL 11/27] migration: add blocktime calculation into migration-test Juan Quintela
2018-01-15 11:52 ` [Qemu-devel] [PULL 12/27] migration: add postcopy total blocktime into query-migrate Juan Quintela
2018-01-15 11:52 ` [Qemu-devel] [PULL 13/27] migration: Guard ram_bytes_remaining against early call Juan Quintela
2018-01-15 11:52 ` [Qemu-devel] [PULL 14/27] migration: finalize current_migration object Juan Quintela
2018-01-15 11:52 ` [Qemu-devel] [PULL 15/27] migration: assert colo instead of check Juan Quintela
2018-01-15 11:52 ` [Qemu-devel] [PULL 16/27] migration: qemu_savevm_state_cleanup() in cleanup Juan Quintela
2018-01-15 11:52 ` [Qemu-devel] [PULL 17/27] migration: remove "enable_colo" var Juan Quintela
2018-01-15 11:53 ` [Qemu-devel] [PULL 18/27] migration: split use of MigrationState.total_time Juan Quintela
2018-01-15 11:53 ` [Qemu-devel] [PULL 19/27] migration: move vm_old_running into global state Juan Quintela
2018-01-15 11:53 ` [Qemu-devel] [PULL 20/27] migration: introduce downtime_start Juan Quintela
2018-01-15 11:53 ` [Qemu-devel] [PULL 21/27] migration: introduce migrate_calculate_complete Juan Quintela
2018-01-15 11:53 ` [Qemu-devel] [PULL 22/27] migration: use switch at the end of migration Juan Quintela
2018-01-15 11:53 ` [Qemu-devel] [PULL 23/27] migration: cleanup stats update into function Juan Quintela
2018-01-15 11:53 ` [Qemu-devel] [PULL 24/27] migration: major cleanup for migrate iterations Juan Quintela
2018-01-15 11:53 ` [Qemu-devel] [PULL 25/27] migration: put the finish part into a new function Juan Quintela
2018-01-15 11:53 ` [Qemu-devel] [PULL 26/27] migration: remove some block_cleanup_parameters() Juan Quintela
2018-01-15 11:53 ` [Qemu-devel] [PULL 27/27] migration: remove notify in fd_error Juan Quintela
2018-01-15 16:14 ` [Qemu-devel] [PULL 00/27] Migration pull Peter Maydell
2018-01-19 16:27 ` Philippe Mathieu-Daudé
2018-01-19 16:34 ` Peter Maydell
2018-01-19 17:00 ` Philippe Mathieu-Daudé
2018-01-19 16:43 ` Alexey Perevalov
2018-01-19 17:01 ` Peter Maydell
2018-01-20 23:36 ` Juan Quintela
2018-01-21 3:19 ` Philippe Mathieu-Daudé
2018-01-22 10:03 ` Peter Maydell
2018-01-22 16:25 ` Alexey Perevalov
2018-01-22 16:26 ` Peter Maydell
2018-01-22 18:25 ` Alexey Perevalov
2018-01-22 19:52 ` Dr. David Alan Gilbert
2018-01-22 18:38 ` Alex Bennée
2018-01-22 12:22 ` Peter Maydell
2018-01-22 12:38 ` Dr. David Alan Gilbert
2018-01-22 13:38 ` Peter Maydell
2018-01-23 10:09 ` Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180116174341.GD2521@work-vm \
--to=dgilbert@redhat.com \
--cc=a.perevalov@samsung.com \
--cc=lvivier@redhat.com \
--cc=mreitz@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).