All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.