qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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

  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).