mbox

[PULL,00/19] Migration patches

Message ID 20190711104412.31233-1-quintela@redhat.com (mailing list archive)
State New, archived
Headers show

Pull-request

https://github.com/juanquintela/qemu.git tags/migration-pull-request

Message

Juan Quintela July 11, 2019, 10:43 a.m. UTC
The following changes since commit 6df2cdf44a82426f7a59dcb03f0dd2181ed7fdfa:

  Update version for v4.1.0-rc0 release (2019-07-09 17:21:53 +0100)

are available in the Git repository at:

  https://github.com/juanquintela/qemu.git tags/migration-pull-request

for you to fetch changes up to 0b47e79b3d04f500b6f3490628905ec5884133df:

  migration: allow private destination ram with x-ignore-shared (2019-07-11 12:30:40 +0200)

----------------------------------------------------------------
Migration pull request

----------------------------------------------------------------

Juan Quintela (3):
  migration: fix multifd_recv event typo
  migration-test: rename parameter to parameter_int
  migration-test: Add migration multifd test

Peng Tao (1):
  migration: allow private destination ram with x-ignore-shared

Peter Xu (10):
  migration: No need to take rcu during sync_dirty_bitmap
  memory: Don't set migration bitmap when without migration
  bitmap: Add bitmap_copy_with_{src|dst}_offset()
  memory: Pass mr into snapshot_and_clear_dirty
  memory: Introduce memory listener hook log_clear()
  kvm: Update comments for sync_dirty_bitmap
  kvm: Persistent per kvmslot dirty bitmap
  kvm: Introduce slots lock for memory listener
  kvm: Support KVM_CLEAR_DIRTY_LOG
  migration: Split log_clear() into smaller chunks

Wei Yang (5):
  migration/multifd: call multifd_send_sync_main when sending
    RAM_SAVE_FLAG_EOS
  migration/xbzrle: update cache and current_data in one place
  cutils: remove one unnecessary pointer operation
  migration/multifd: sync packet_num after all thread are done
  migratioin/ram.c: reset complete_round when we gets a queued page

 accel/kvm/kvm-all.c          |  260 +-
 accel/kvm/trace-events       |    1 +
 exec.c                       |   15 +-
 include/exec/memory.h        |   19 +
 include/exec/memory.h.rej    |   26 +
 include/exec/ram_addr.h      |   92 +-
 include/exec/ram_addr.h.orig |  488 ++++
 include/qemu/bitmap.h        |    9 +
 include/sysemu/kvm_int.h     |    4 +
 memory.c                     |   56 +-
 memory.c.rej                 |   17 +
 migration/migration.c        |    4 +
 migration/migration.h        |   27 +
 migration/migration.h.orig   |  315 +++
 migration/ram.c              |   93 +-
 migration/ram.c.orig         | 4599 ++++++++++++++++++++++++++++++++++
 migration/ram.c.rej          |   33 +
 migration/trace-events       |    3 +-
 migration/trace-events.orig  |  297 +++
 tests/Makefile.include       |    2 +
 tests/migration-test.c       |  103 +-
 tests/test-bitmap.c          |   72 +
 util/bitmap.c                |   85 +
 util/cutils.c                |    8 +-
 24 files changed, 6545 insertions(+), 83 deletions(-)
 create mode 100644 include/exec/memory.h.rej
 create mode 100644 include/exec/ram_addr.h.orig
 create mode 100644 memory.c.rej
 create mode 100644 migration/migration.h.orig
 create mode 100644 migration/ram.c.orig
 create mode 100644 migration/ram.c.rej
 create mode 100644 migration/trace-events.orig
 create mode 100644 tests/test-bitmap.c

Comments

Paolo Bonzini July 11, 2019, 11:19 a.m. UTC | #1
On 11/07/19 12:43, Juan Quintela wrote:
> The following changes since commit 6df2cdf44a82426f7a59dcb03f0dd2181ed7fdfa:
> 
>   Update version for v4.1.0-rc0 release (2019-07-09 17:21:53 +0100)
> 
> are available in the Git repository at:
> 
>   https://github.com/juanquintela/qemu.git tags/migration-pull-request
> 
> for you to fetch changes up to 0b47e79b3d04f500b6f3490628905ec5884133df:
> 
>   migration: allow private destination ram with x-ignore-shared (2019-07-11 12:30:40 +0200)

Aren't we in hard freeze already?

Paolo

> ----------------------------------------------------------------
> Migration pull request
> 
> ----------------------------------------------------------------
> 
> Juan Quintela (3):
>   migration: fix multifd_recv event typo
>   migration-test: rename parameter to parameter_int
>   migration-test: Add migration multifd test
> 
> Peng Tao (1):
>   migration: allow private destination ram with x-ignore-shared
> 
> Peter Xu (10):
>   migration: No need to take rcu during sync_dirty_bitmap
>   memory: Don't set migration bitmap when without migration
>   bitmap: Add bitmap_copy_with_{src|dst}_offset()
>   memory: Pass mr into snapshot_and_clear_dirty
>   memory: Introduce memory listener hook log_clear()
>   kvm: Update comments for sync_dirty_bitmap
>   kvm: Persistent per kvmslot dirty bitmap
>   kvm: Introduce slots lock for memory listener
>   kvm: Support KVM_CLEAR_DIRTY_LOG
>   migration: Split log_clear() into smaller chunks
> 
> Wei Yang (5):
>   migration/multifd: call multifd_send_sync_main when sending
>     RAM_SAVE_FLAG_EOS
>   migration/xbzrle: update cache and current_data in one place
>   cutils: remove one unnecessary pointer operation
>   migration/multifd: sync packet_num after all thread are done
>   migratioin/ram.c: reset complete_round when we gets a queued page
> 
>  accel/kvm/kvm-all.c          |  260 +-
>  accel/kvm/trace-events       |    1 +
>  exec.c                       |   15 +-
>  include/exec/memory.h        |   19 +
>  include/exec/memory.h.rej    |   26 +
>  include/exec/ram_addr.h      |   92 +-
>  include/exec/ram_addr.h.orig |  488 ++++
>  include/qemu/bitmap.h        |    9 +
>  include/sysemu/kvm_int.h     |    4 +
>  memory.c                     |   56 +-
>  memory.c.rej                 |   17 +
>  migration/migration.c        |    4 +
>  migration/migration.h        |   27 +
>  migration/migration.h.orig   |  315 +++
>  migration/ram.c              |   93 +-
>  migration/ram.c.orig         | 4599 ++++++++++++++++++++++++++++++++++
>  migration/ram.c.rej          |   33 +
>  migration/trace-events       |    3 +-
>  migration/trace-events.orig  |  297 +++
>  tests/Makefile.include       |    2 +
>  tests/migration-test.c       |  103 +-
>  tests/test-bitmap.c          |   72 +
>  util/bitmap.c                |   85 +
>  util/cutils.c                |    8 +-
>  24 files changed, 6545 insertions(+), 83 deletions(-)
>  create mode 100644 include/exec/memory.h.rej
>  create mode 100644 include/exec/ram_addr.h.orig
>  create mode 100644 memory.c.rej
>  create mode 100644 migration/migration.h.orig
>  create mode 100644 migration/ram.c.orig
>  create mode 100644 migration/ram.c.rej
>  create mode 100644 migration/trace-events.orig
>  create mode 100644 tests/test-bitmap.c
>
Juan Quintela July 11, 2019, 11:32 a.m. UTC | #2
Paolo Bonzini <pbonzini@redhat.com> wrote:
> On 11/07/19 12:43, Juan Quintela wrote:
>> The following changes since commit 6df2cdf44a82426f7a59dcb03f0dd2181ed7fdfa:
>> 
>>   Update version for v4.1.0-rc0 release (2019-07-09 17:21:53 +0100)
>> 
>> are available in the Git repository at:
>> 
>>   https://github.com/juanquintela/qemu.git tags/migration-pull-request
>> 
>> for you to fetch changes up to 0b47e79b3d04f500b6f3490628905ec5884133df:
>> 
>>   migration: allow private destination ram with x-ignore-shared
>> (2019-07-11 12:30:40 +0200)
>
> Aren't we in hard freeze already?

They were sent bedfore the hard freeze, no?

Later, Juan.
Dr. David Alan Gilbert July 11, 2019, 11:34 a.m. UTC | #3
* Paolo Bonzini (pbonzini@redhat.com) wrote:
> On 11/07/19 12:43, Juan Quintela wrote:
> > The following changes since commit 6df2cdf44a82426f7a59dcb03f0dd2181ed7fdfa:
> > 
> >   Update version for v4.1.0-rc0 release (2019-07-09 17:21:53 +0100)
> > 
> > are available in the Git repository at:
> > 
> >   https://github.com/juanquintela/qemu.git tags/migration-pull-request
> > 
> > for you to fetch changes up to 0b47e79b3d04f500b6f3490628905ec5884133df:
> > 
> >   migration: allow private destination ram with x-ignore-shared (2019-07-11 12:30:40 +0200)
> 
> Aren't we in hard freeze already?

They were all sent and review-by long before the freeze.
This pull got stuck though; the original version of the pull was also
sent before the freeze but some stuff has got added.

Dave

> Paolo
> 
> > ----------------------------------------------------------------
> > Migration pull request
> > 
> > ----------------------------------------------------------------
> > 
> > Juan Quintela (3):
> >   migration: fix multifd_recv event typo
> >   migration-test: rename parameter to parameter_int
> >   migration-test: Add migration multifd test
> > 
> > Peng Tao (1):
> >   migration: allow private destination ram with x-ignore-shared
> > 
> > Peter Xu (10):
> >   migration: No need to take rcu during sync_dirty_bitmap
> >   memory: Don't set migration bitmap when without migration
> >   bitmap: Add bitmap_copy_with_{src|dst}_offset()
> >   memory: Pass mr into snapshot_and_clear_dirty
> >   memory: Introduce memory listener hook log_clear()
> >   kvm: Update comments for sync_dirty_bitmap
> >   kvm: Persistent per kvmslot dirty bitmap
> >   kvm: Introduce slots lock for memory listener
> >   kvm: Support KVM_CLEAR_DIRTY_LOG
> >   migration: Split log_clear() into smaller chunks
> > 
> > Wei Yang (5):
> >   migration/multifd: call multifd_send_sync_main when sending
> >     RAM_SAVE_FLAG_EOS
> >   migration/xbzrle: update cache and current_data in one place
> >   cutils: remove one unnecessary pointer operation
> >   migration/multifd: sync packet_num after all thread are done
> >   migratioin/ram.c: reset complete_round when we gets a queued page
> > 
> >  accel/kvm/kvm-all.c          |  260 +-
> >  accel/kvm/trace-events       |    1 +
> >  exec.c                       |   15 +-
> >  include/exec/memory.h        |   19 +
> >  include/exec/memory.h.rej    |   26 +
> >  include/exec/ram_addr.h      |   92 +-
> >  include/exec/ram_addr.h.orig |  488 ++++
> >  include/qemu/bitmap.h        |    9 +
> >  include/sysemu/kvm_int.h     |    4 +
> >  memory.c                     |   56 +-
> >  memory.c.rej                 |   17 +
> >  migration/migration.c        |    4 +
> >  migration/migration.h        |   27 +
> >  migration/migration.h.orig   |  315 +++
> >  migration/ram.c              |   93 +-
> >  migration/ram.c.orig         | 4599 ++++++++++++++++++++++++++++++++++
> >  migration/ram.c.rej          |   33 +
> >  migration/trace-events       |    3 +-
> >  migration/trace-events.orig  |  297 +++
> >  tests/Makefile.include       |    2 +
> >  tests/migration-test.c       |  103 +-
> >  tests/test-bitmap.c          |   72 +
> >  util/bitmap.c                |   85 +
> >  util/cutils.c                |    8 +-
> >  24 files changed, 6545 insertions(+), 83 deletions(-)
> >  create mode 100644 include/exec/memory.h.rej
> >  create mode 100644 include/exec/ram_addr.h.orig
> >  create mode 100644 memory.c.rej
> >  create mode 100644 migration/migration.h.orig
> >  create mode 100644 migration/ram.c.orig
> >  create mode 100644 migration/ram.c.rej
> >  create mode 100644 migration/trace-events.orig
> >  create mode 100644 tests/test-bitmap.c
> > 
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
Peter Maydell July 11, 2019, 11:40 a.m. UTC | #4
On Thu, 11 Jul 2019 at 12:34, Dr. David Alan Gilbert
<dgilbert@redhat.com> wrote:
>
> * Paolo Bonzini (pbonzini@redhat.com) wrote:
> > On 11/07/19 12:43, Juan Quintela wrote:
> > > The following changes since commit 6df2cdf44a82426f7a59dcb03f0dd2181ed7fdfa:
> > >
> > >   Update version for v4.1.0-rc0 release (2019-07-09 17:21:53 +0100)
> > >
> > > are available in the Git repository at:
> > >
> > >   https://github.com/juanquintela/qemu.git tags/migration-pull-request
> > >
> > > for you to fetch changes up to 0b47e79b3d04f500b6f3490628905ec5884133df:
> > >
> > >   migration: allow private destination ram with x-ignore-shared (2019-07-11 12:30:40 +0200)
> >
> > Aren't we in hard freeze already?
>
> They were all sent and review-by long before the freeze.
> This pull got stuck though; the original version of the pull was also
> sent before the freeze but some stuff has got added.

This is the sort of detail which it's useful to include in
the pull request cover letter...

thanks
-- PMM
Peter Maydell July 11, 2019, 12:39 p.m. UTC | #5
On Thu, 11 Jul 2019 at 11:56, Juan Quintela <quintela@redhat.com> wrote:
>
> The following changes since commit 6df2cdf44a82426f7a59dcb03f0dd2181ed7fdfa:
>
>   Update version for v4.1.0-rc0 release (2019-07-09 17:21:53 +0100)
>
> are available in the Git repository at:
>
>   https://github.com/juanquintela/qemu.git tags/migration-pull-request
>
> for you to fetch changes up to 0b47e79b3d04f500b6f3490628905ec5884133df:
>
>   migration: allow private destination ram with x-ignore-shared (2019-07-11 12:30:40 +0200)
>
> ----------------------------------------------------------------
> Migration pull request
>
> ----------------------------------------------------------------

Hi; this fails "make check" on aarch32 host (possibly a general
32-bit host issue, as this is the only 32-bit host I test on):

MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
tests/test-bitmap -m=quick -k --tap < /dev/null |
./scripts/tap-driver.pl --test-name="test-bitmap"
**
ERROR:/home/peter.maydell/qemu/tests/test-bitmap.c:39:check_bitmap_copy_with_offset:
assertion failed (bmap1 == bmap2)
Aborted
ERROR - Bail out!
ERROR:/home/peter.maydell/qemu/tests/test-bitmap.c:39:check_bitmap_copy_with_offset:
assertion failed (bmap1 == bmap2)
/home/peter.maydell/qemu/tests/Makefile.include:904: recipe for target
'check-unit' failed

thanks
-- PMM
Christian Borntraeger July 11, 2019, 12:55 p.m. UTC | #6
On 11.07.19 12:43, Juan Quintela wrote:
> The following changes since commit 6df2cdf44a82426f7a59dcb03f0dd2181ed7fdfa:
> 
>   Update version for v4.1.0-rc0 release (2019-07-09 17:21:53 +0100)
> 
> are available in the Git repository at:
> 
>   https://github.com/juanquintela/qemu.git tags/migration-pull-request
> 
> for you to fetch changes up to 0b47e79b3d04f500b6f3490628905ec5884133df:
> 
>   migration: allow private destination ram with x-ignore-shared (2019-07-11 12:30:40 +0200)
> 
> ----------------------------------------------------------------
> Migration pull request
> 
> ----------------------------------------------------------------
> 
[...]
>  include/exec/memory.h        |   19 +
>  include/exec/memory.h.rej    |   26 +
>  include/exec/ram_addr.h      |   92 +-
>  include/exec/ram_addr.h.orig |  488 +++
[...]
>  migration/ram.c              |   93 +-
>  migration/ram.c.orig         | 4599 ++++++++++++++++++++++++++++++++++
>  migration/ram.c.rej          |   33 +

The .ref and .orig look odd. And they are is not part of the patches.
no-reply@patchew.org July 11, 2019, 1 p.m. UTC | #7
Patchew URL: https://patchew.org/QEMU/20190711104412.31233-1-quintela@redhat.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Message-id: 20190711104412.31233-1-quintela@redhat.com
Type: series
Subject: [Qemu-devel] [PULL 00/19] Migration patches

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

From https://github.com/patchew-project/qemu
 * [new tag]               patchew/20190711104412.31233-1-quintela@redhat.com -> patchew/20190711104412.31233-1-quintela@redhat.com
Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.
Switched to a new branch 'test'
209c2845db migration: allow private destination ram with x-ignore-shared
c008de3513 migration: Split log_clear() into smaller chunks
1b98b966ec kvm: Support KVM_CLEAR_DIRTY_LOG
6850c34958 kvm: Introduce slots lock for memory listener
787a3e91db kvm: Persistent per kvmslot dirty bitmap
18fb631382 kvm: Update comments for sync_dirty_bitmap
86d95e6ce0 memory: Introduce memory listener hook log_clear()
d1063f1461 memory: Pass mr into snapshot_and_clear_dirty
3fafbda5af bitmap: Add bitmap_copy_with_{src|dst}_offset()
78c643f8c7 memory: Don't set migration bitmap when without migration
c5bac6deb3 migration: No need to take rcu during sync_dirty_bitmap
ea445e2533 migratioin/ram.c: reset complete_round when we gets a queued page
e8e5e91626 migration/multifd: sync packet_num after all thread are done
e5c62ba89d cutils: remove one unnecessary pointer operation
5914c83527 migration/xbzrle: update cache and current_data in one place
404656a2b0 migration/multifd: call multifd_send_sync_main when sending RAM_SAVE_FLAG_EOS
fd522f622b migration-test: Add migration multifd test
410a42b077 migration-test: rename parameter to parameter_int
c4c921ae43 migration: fix multifd_recv event typo

=== OUTPUT BEGIN ===
1/19 Checking commit c4c921ae438d (migration: fix multifd_recv event typo)
2/19 Checking commit 410a42b0779f (migration-test: rename parameter to parameter_int)
3/19 Checking commit fd522f622bf7 (migration-test: Add migration multifd test)
4/19 Checking commit 404656a2b029 (migration/multifd: call multifd_send_sync_main when sending RAM_SAVE_FLAG_EOS)
5/19 Checking commit 5914c835270c (migration/xbzrle: update cache and current_data in one place)
6/19 Checking commit e5c62ba89d60 (cutils: remove one unnecessary pointer operation)
7/19 Checking commit e8e5e91626d2 (migration/multifd: sync packet_num after all thread are done)
8/19 Checking commit ea445e253364 (migratioin/ram.c: reset complete_round when we gets a queued page)
9/19 Checking commit c5bac6deb363 (migration: No need to take rcu during sync_dirty_bitmap)
10/19 Checking commit 78c643f8c785 (memory: Don't set migration bitmap when without migration)
11/19 Checking commit 3fafbda5afa5 (bitmap: Add bitmap_copy_with_{src|dst}_offset())
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#67: 
new file mode 100644

total: 0 errors, 1 warnings, 193 lines checked

Patch 11/19 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
12/19 Checking commit d1063f1461e2 (memory: Pass mr into snapshot_and_clear_dirty)
13/19 Checking commit 86d95e6ce000 (memory: Introduce memory listener hook log_clear())
14/19 Checking commit 18fb63138295 (kvm: Update comments for sync_dirty_bitmap)
15/19 Checking commit 787a3e91dbe7 (kvm: Persistent per kvmslot dirty bitmap)
16/19 Checking commit 6850c3495802 (kvm: Introduce slots lock for memory listener)
17/19 Checking commit 1b98b966ec31 (kvm: Support KVM_CLEAR_DIRTY_LOG)
WARNING: line over 80 characters
#201: FILE: accel/kvm/kvm-all.c:1054:
+    KVMMemoryListener *kml = container_of(listener, KVMMemoryListener, listener);

total: 0 errors, 1 warnings, 217 lines checked

Patch 17/19 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
18/19 Checking commit c008de3513ac (migration: Split log_clear() into smaller chunks)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#38: 
new file mode 100644

ERROR: trailing whitespace
#48: FILE: include/exec/memory.h.rej:6:
+ $

ERROR: trailing whitespace
#670: FILE: memory.c.rej:6:
+ $

ERROR: trailing whitespace
#5765: FILE: migration/ram.c.rej:4:
+ $

ERROR: trailing whitespace
#5772: FILE: migration/ram.c.rej:11:
+ $

total: 4 errors, 1 warnings, 6000 lines checked

Patch 18/19 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

19/19 Checking commit 209c2845db95 (migration: allow private destination ram with x-ignore-shared)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20190711104412.31233-1-quintela@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Peter Maydell July 11, 2019, 1:01 p.m. UTC | #8
On Thu, 11 Jul 2019 at 13:56, Christian Borntraeger
<borntraeger@de.ibm.com> wrote:
>
>
>
> On 11.07.19 12:43, Juan Quintela wrote:
> > The following changes since commit 6df2cdf44a82426f7a59dcb03f0dd2181ed7fdfa:
> >
> >   Update version for v4.1.0-rc0 release (2019-07-09 17:21:53 +0100)
> >
> > are available in the Git repository at:
> >
> >   https://github.com/juanquintela/qemu.git tags/migration-pull-request
> >
> > for you to fetch changes up to 0b47e79b3d04f500b6f3490628905ec5884133df:
> >
> >   migration: allow private destination ram with x-ignore-shared (2019-07-11 12:30:40 +0200)
> >
> > ----------------------------------------------------------------
> > Migration pull request
> >
> > ----------------------------------------------------------------
> >
> [...]
> >  include/exec/memory.h        |   19 +
> >  include/exec/memory.h.rej    |   26 +
> >  include/exec/ram_addr.h      |   92 +-
> >  include/exec/ram_addr.h.orig |  488 +++
> [...]
> >  migration/ram.c              |   93 +-
> >  migration/ram.c.orig         | 4599 ++++++++++++++++++++++++++++++++++
> >  migration/ram.c.rej          |   33 +
>
> The .ref and .orig look odd. And they are is not part of the patches.

Good catch -- git diff says they are part of the pullreq so
they'd have ended up in the git repo if you hadn't noticed them.

thanks
-- PMM
Juan Quintela July 12, 2019, 2:06 p.m. UTC | #9
Peter Maydell <peter.maydell@linaro.org> wrote:
> On Thu, 11 Jul 2019 at 11:56, Juan Quintela <quintela@redhat.com> wrote:
>>
>> The following changes since commit 6df2cdf44a82426f7a59dcb03f0dd2181ed7fdfa:
>>
>>   Update version for v4.1.0-rc0 release (2019-07-09 17:21:53 +0100)
>>
>> are available in the Git repository at:
>>
>>   https://github.com/juanquintela/qemu.git tags/migration-pull-request
>>
>> for you to fetch changes up to 0b47e79b3d04f500b6f3490628905ec5884133df:
>>
>>   migration: allow private destination ram with x-ignore-shared
>> (2019-07-11 12:30:40 +0200)
>>
>> ----------------------------------------------------------------
>> Migration pull request
>>
>> ----------------------------------------------------------------
>
> Hi; this fails "make check" on aarch32 host (possibly a general
> 32-bit host issue, as this is the only 32-bit host I test on):
>
> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
> tests/test-bitmap -m=quick -k --tap < /dev/null |
> ./scripts/tap-driver.pl --test-name="test-bitmap"
> **
> ERROR:/home/peter.maydell/qemu/tests/test-bitmap.c:39:check_bitmap_copy_with_offset:
> assertion failed (bmap1 == bmap2)
> Aborted
> ERROR - Bail out!
> ERROR:/home/peter.maydell/qemu/tests/test-bitmap.c:39:check_bitmap_copy_with_offset:
> assertion failed (bmap1 == bmap2)
> /home/peter.maydell/qemu/tests/Makefile.include:904: recipe for target
> 'check-unit' failed

Problem fixed, the code is right (TM), the test is wrong (also TM).

@@ -35,8 +36,8 @@ static void check_bitmap_copy_with_offset(void)
     /* Shift back 200 bits back */
     bitmap_copy_with_src_offset(bmap2, bmap3, 200, total);
 
-    g_assert_cmpmem(bmap1, total / sizeof(unsigned long),
-                    bmap2, total / sizeof(unsigned long));
+    g_assert_cmpmem(bmap1, total / BITS_PER_LONG,
+                    bmap2, total / BITS_PER_LONG);
 
     bitmap_clear(bmap1, 0, BMAP_SIZE);
     /* Set bits in bmap1 are 100-245 */


A long has 32 or 64 bits, not 4 or 8.

And why it worked in 64 bit?  Due to (bad?) luck.  64 bit is bigger, and
then it "overwrote" everypthing, and then it ends being zero on
destination by luck.

Resending.

Later, Juan.
no-reply@patchew.org July 12, 2019, 2:33 p.m. UTC | #10
Patchew URL: https://patchew.org/QEMU/20190711104412.31233-1-quintela@redhat.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Message-id: 20190711104412.31233-1-quintela@redhat.com
Type: series
Subject: [Qemu-devel] [PULL 00/19] Migration patches

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Switched to a new branch 'test'
209c284 migration: allow private destination ram with x-ignore-shared
c008de3 migration: Split log_clear() into smaller chunks
1b98b96 kvm: Support KVM_CLEAR_DIRTY_LOG
6850c34 kvm: Introduce slots lock for memory listener
787a3e9 kvm: Persistent per kvmslot dirty bitmap
18fb631 kvm: Update comments for sync_dirty_bitmap
86d95e6 memory: Introduce memory listener hook log_clear()
d1063f1 memory: Pass mr into snapshot_and_clear_dirty
3fafbda bitmap: Add bitmap_copy_with_{src|dst}_offset()
78c643f memory: Don't set migration bitmap when without migration
c5bac6d migration: No need to take rcu during sync_dirty_bitmap
ea445e2 migratioin/ram.c: reset complete_round when we gets a queued page
e8e5e91 migration/multifd: sync packet_num after all thread are done
e5c62ba cutils: remove one unnecessary pointer operation
5914c83 migration/xbzrle: update cache and current_data in one place
404656a migration/multifd: call multifd_send_sync_main when sending RAM_SAVE_FLAG_EOS
fd522f6 migration-test: Add migration multifd test
410a42b migration-test: rename parameter to parameter_int
c4c921a migration: fix multifd_recv event typo

=== OUTPUT BEGIN ===
1/19 Checking commit c4c921ae438d (migration: fix multifd_recv event typo)
2/19 Checking commit 410a42b0779f (migration-test: rename parameter to parameter_int)
3/19 Checking commit fd522f622bf7 (migration-test: Add migration multifd test)
4/19 Checking commit 404656a2b029 (migration/multifd: call multifd_send_sync_main when sending RAM_SAVE_FLAG_EOS)
5/19 Checking commit 5914c835270c (migration/xbzrle: update cache and current_data in one place)
6/19 Checking commit e5c62ba89d60 (cutils: remove one unnecessary pointer operation)
7/19 Checking commit e8e5e91626d2 (migration/multifd: sync packet_num after all thread are done)
8/19 Checking commit ea445e253364 (migratioin/ram.c: reset complete_round when we gets a queued page)
9/19 Checking commit c5bac6deb363 (migration: No need to take rcu during sync_dirty_bitmap)
10/19 Checking commit 78c643f8c785 (memory: Don't set migration bitmap when without migration)
11/19 Checking commit 3fafbda5afa5 (bitmap: Add bitmap_copy_with_{src|dst}_offset())
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#67: 
new file mode 100644

total: 0 errors, 1 warnings, 193 lines checked

Patch 11/19 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
12/19 Checking commit d1063f1461e2 (memory: Pass mr into snapshot_and_clear_dirty)
13/19 Checking commit 86d95e6ce000 (memory: Introduce memory listener hook log_clear())
14/19 Checking commit 18fb63138295 (kvm: Update comments for sync_dirty_bitmap)
15/19 Checking commit 787a3e91dbe7 (kvm: Persistent per kvmslot dirty bitmap)
16/19 Checking commit 6850c3495802 (kvm: Introduce slots lock for memory listener)
17/19 Checking commit 1b98b966ec31 (kvm: Support KVM_CLEAR_DIRTY_LOG)
WARNING: line over 80 characters
#201: FILE: accel/kvm/kvm-all.c:1054:
+    KVMMemoryListener *kml = container_of(listener, KVMMemoryListener, listener);

total: 0 errors, 1 warnings, 217 lines checked

Patch 17/19 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
18/19 Checking commit c008de3513ac (migration: Split log_clear() into smaller chunks)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#38: 
new file mode 100644

ERROR: trailing whitespace
#48: FILE: include/exec/memory.h.rej:6:
+ $

ERROR: trailing whitespace
#670: FILE: memory.c.rej:6:
+ $

ERROR: trailing whitespace
#5765: FILE: migration/ram.c.rej:4:
+ $

ERROR: trailing whitespace
#5772: FILE: migration/ram.c.rej:11:
+ $

total: 4 errors, 1 warnings, 6000 lines checked

Patch 18/19 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

19/19 Checking commit 209c2845db95 (migration: allow private destination ram with x-ignore-shared)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20190711104412.31233-1-quintela@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com