qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 4f0fae: migration: Create migration_ioc_proce


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 4f0fae: migration: Create migration_ioc_process_incoming()
Date: Fri, 22 Sep 2017 07:20:40 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 4f0fae7f2bbd09f7a70f678e8db1763d12e5d896
      
https://github.com/qemu/qemu/commit/4f0fae7f2bbd09f7a70f678e8db1763d12e5d896
  Author: Juan Quintela <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M migration/channel.c
    M migration/migration.c
    M migration/migration.h

  Log Message:
  -----------
  migration: Create migration_ioc_process_incoming()

We pass the ioc instead of the fd.  This will allow us to have more
than one channel open.  We also make sure that we set the
from_src_file sooner, so we don't need to pass it as a parameter.

Signed-off-by: Juan Quintela <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>

--

Do not assing mis->from_src_file (peterxu)


  Commit: 2a543bfdfadb432d82bab256a9a72b00c331b484
      
https://github.com/qemu/qemu/commit/2a543bfdfadb432d82bab256a9a72b00c331b484
  Author: Juan Quintela <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M include/glib-compat.h
    M migration/exec.c
    M migration/fd.c
    M migration/socket.c

  Log Message:
  -----------
  migration: Teach it about G_SOURCE_REMOVE

As this is defined on glib 2.32, add compatibility macros for older glibs.

Signed-off-by: Juan Quintela <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Reviewed-by: Peter Xu <address@hidden>


  Commit: 8e1a1931ca9bcb09b9db1180c9c08ecd5cc6b4de
      
https://github.com/qemu/qemu/commit/8e1a1931ca9bcb09b9db1180c9c08ecd5cc6b4de
  Author: Juan Quintela <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M migration/channel.c

  Log Message:
  -----------
  migration: Add comments to channel functions

Signed-off-by: Juan Quintela <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>


  Commit: 428d89084c709e568f9cd301c2f6416a54c53d6d
      
https://github.com/qemu/qemu/commit/428d89084c709e568f9cd301c2f6416a54c53d6d
  Author: Juan Quintela <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M migration/migration.c
    M migration/migration.h
    M migration/socket.c

  Log Message:
  -----------
  migration: Create migration_has_all_channels

This function allows us to decide when to close the listener socket.
For now, we only need one connection.

Signed-off-by: Juan Quintela <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>


  Commit: 30126bbf1f7fcad0bf4c65b01a21ff22a36a9759
      
https://github.com/qemu/qemu/commit/30126bbf1f7fcad0bf4c65b01a21ff22a36a9759
  Author: Juan Quintela <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M migration/migration.c
    M migration/migration.h
    M qapi/migration.json

  Log Message:
  -----------
  migration: Add multifd capability

Signed-off-by: Juan Quintela <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Peter Xu <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>

--

Use new DEFINE_PROP


  Commit: 4075fb1ca4ed673ff93d09936da014c1d2c6d2ca
      
https://github.com/qemu/qemu/commit/4075fb1ca4ed673ff93d09936da014c1d2c6d2ca
  Author: Juan Quintela <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M hmp.c
    M migration/migration.c
    M migration/migration.h
    M qapi/migration.json

  Log Message:
  -----------
  migration: Create x-multifd-channels parameter

Indicates the number of channels that we will create.  By default we
create 2 channels.

Signed-off-by: Juan Quintela <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Peter Xu <address@hidden>

--

Catch inconsistent defaults (eric).
Improve comment stating that number of threads is the same than number
of sockets
Use new DEFIN_PROP_*
Rename x-multifd-threads to x-multifd-threads


  Commit: 0fb86605eac50d488b1a8d4a9d6986defc3adca9
      
https://github.com/qemu/qemu/commit/0fb86605eac50d488b1a8d4a9d6986defc3adca9
  Author: Juan Quintela <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M hmp.c
    M migration/migration.c
    M migration/migration.h
    M qapi/migration.json

  Log Message:
  -----------
  migration: Create x-multifd-page-count parameter

Indicates how many pages we are going to send in each batch to a multifd
thread.

Signed-off-by: Juan Quintela <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Peter Xu <address@hidden>

--

Be consistent with defaults and documentation
Use new DEFINE_PROP_*
Rename x-multifd-group to x-multifd-page-count


  Commit: f986c3d2569c6aa5cd03a6b8bbb5371e4b608d3c
      
https://github.com/qemu/qemu/commit/f986c3d2569c6aa5cd03a6b8bbb5371e4b608d3c
  Author: Juan Quintela <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M migration/migration.c
    M migration/ram.c
    M migration/ram.h

  Log Message:
  -----------
  migration: Create multifd migration threads

Creation of the threads, nothing inside yet.

Signed-off-by: Juan Quintela <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>

--

Use pointers instead of long array names
Move to use semaphores instead of conditions as paolo suggestion

Put all the state inside one struct.
Use a counter for the number of threads created.  Needed during cancellation.

Add error return to thread creation

Add id field

Rename functions to multifd_save/load_setup/cleanup
Change recv parameters to a pointer to struct
Change back to a struct
Use Error * for _cleanup


  Commit: e595a01ab656192b11254b3dafcc83b0adb18470
      
https://github.com/qemu/qemu/commit/e595a01ab656192b11254b3dafcc83b0adb18470
  Author: Juan Quintela <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M migration/migration.c

  Log Message:
  -----------
  migration: Split migration_fd_process_incoming

We need that on later patches.

Signed-off-by: Juan Quintela <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Peter Xu <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>


  Commit: ab089e058eb443a9a11ade4d3fc57ced1947bfa3
      
https://github.com/qemu/qemu/commit/ab089e058eb443a9a11ade4d3fc57ced1947bfa3
  Author: Peter Xu <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M util/bitops.c

  Log Message:
  -----------
  bitmap: remove BITOP_WORD()

We have BIT_WORD(). It's the same.

Signed-off-by: Peter Xu <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>


  Commit: fc7deeea26af3d08f45bad85b8bd3fc3d790a090
      
https://github.com/qemu/qemu/commit/fc7deeea26af3d08f45bad85b8bd3fc3d790a090
  Author: Peter Xu <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M include/qemu/bitmap.h
    M util/bitmap.c

  Log Message:
  -----------
  bitmap: introduce bitmap_count_one()

Count how many bits set in the bitmap.

Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Peter Xu <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>


  Commit: d7788151a0807d5d2d410e3f8944d8c8a651f8d2
      
https://github.com/qemu/qemu/commit/d7788151a0807d5d2d410e3f8944d8c8a651f8d2
  Author: Peter Xu <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M include/qemu/bitmap.h
    M util/bitmap.c

  Log Message:
  -----------
  bitmap: provide to_le/from_le helpers

Provide helpers to convert bitmaps to little endian format. It can be
used when we want to send one bitmap via network to some other hosts.

One thing to mention is that, these helpers only solve the problem of
endianess, but it does not solve the problem of different word size on
machines (the bitmaps managing same count of bits may contains different
size when malloced). So we need to take care of the size alignment issue
on the callers for now.

Signed-off-by: Peter Xu <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>


  Commit: c6467627369b2518ea3cf466da6cd39da7e3a85a
      
https://github.com/qemu/qemu/commit/c6467627369b2518ea3cf466da6cd39da7e3a85a
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M include/migration/register.h
    M migration/ram.c
    M migration/savevm.c

  Log Message:
  -----------
  migration: add has_postcopy savevm handler

Now postcopy-able states are recognized by not NULL
save_live_complete_postcopy handler. But when we have several different
postcopy-able states, it is not convenient. Ram postcopy may be
disabled, while some other postcopy enabled, in this case Ram state
should behave as it is not postcopy-able.

This patch add separate has_postcopy handler to specify behaviour of
savevm state.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>


  Commit: 86e1167e9ad3a34ab00ed412fc67e1d02ec0ca7b
      
https://github.com/qemu/qemu/commit/86e1167e9ad3a34ab00ed412fc67e1d02ec0ca7b
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration: fix ram_save_pending

Fill postcopy-able pending only if ram postcopy is enabled.
It is necessary because of there will be other postcopy-able states and
when ram postcopy is disabled, it should not spoil common postcopy
related pending.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>


  Commit: 58110f0acb1a33e2bc60a2f1b26d2690a92e8a14
      
https://github.com/qemu/qemu/commit/58110f0acb1a33e2bc60a2f1b26d2690a92e8a14
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M migration/migration.c
    M migration/migration.h
    M migration/savevm.c

  Log Message:
  -----------
  migration: split common postcopy out of ram postcopy

Split common postcopy staff from ram postcopy staff.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>


  Commit: d7651f150d61936344c4fab45eaeb0716c606af2
      
https://github.com/qemu/qemu/commit/d7651f150d61936344c4fab45eaeb0716c606af2
  Author: Alexey Perevalov <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M migration/migration.c
    M migration/postcopy-ram.c
    M migration/postcopy-ram.h
    M migration/savevm.c

  Log Message:
  -----------
  migration: pass MigrationIncomingState* into migration check functions

That tiny refactoring is necessary to be able to set
UFFD_FEATURE_THREAD_ID while requesting features, and then
to create downtime context in case when kernel supports it.

Signed-off-by: Alexey Perevalov <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>


  Commit: 5553499f043d4b7fc020600ffda75d1162ff970b
      
https://github.com/qemu/qemu/commit/5553499f043d4b7fc020600ffda75d1162ff970b
  Author: Alexey Perevalov <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M migration/postcopy-ram.c

  Log Message:
  -----------
  migration: fix hardcoded function name in error report

Reviewed-by: Juan Quintela <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Alexey Perevalov <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>


  Commit: 54ae0886b12c4934e84381af777d4df6147cc2ec
      
https://github.com/qemu/qemu/commit/54ae0886b12c4934e84381af777d4df6147cc2ec
  Author: Alexey Perevalov <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M migration/postcopy-ram.c

  Log Message:
  -----------
  migration: split ufd_version_check onto receive/request features part

This modification is necessary for userfault fd features which are
required to be requested from userspace.
UFFD_FEATURE_THREAD_ID is a one of such "on demand" feature, which will
be introduced in the next patch.

QEMU have to use separate userfault file descriptor, due to
userfault context has internal state, and after first call of
ioctl UFFD_API it changes its state to UFFD_STATE_RUNNING (in case of
success), but kernel while handling ioctl UFFD_API expects UFFD_STATE_WAIT_API.
So only one ioctl with UFFD_API is possible per ufd.

Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Alexey Perevalov <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>


  Commit: bef81b3eb521f2825d85b8ddf246c81a28dcef35
      
https://github.com/qemu/qemu/commit/bef81b3eb521f2825d85b8ddf246c81a28dcef35
  Author: Peter Maydell <address@hidden>
  Date:   2017-09-22 (Fri, 22 Sep 2017)

  Changed paths:
    M hmp.c
    M include/glib-compat.h
    M include/migration/register.h
    M include/qemu/bitmap.h
    M migration/channel.c
    M migration/exec.c
    M migration/fd.c
    M migration/migration.c
    M migration/migration.h
    M migration/postcopy-ram.c
    M migration/postcopy-ram.h
    M migration/ram.c
    M migration/ram.h
    M migration/savevm.c
    M migration/socket.c
    M qapi/migration.json
    M util/bitmap.c
    M util/bitops.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20170922-1' 
into staging

migration/next for 20170922

# gpg: Signature made Fri 22 Sep 2017 13:15:06 BST
# gpg:                using RSA key 0xF487EF185872D723
# gpg: Good signature from "Juan Quintela <address@hidden>"
# gpg:                 aka "Juan Quintela <address@hidden>"
# Primary key fingerprint: 1899 FF8E DEBF 58CC EE03  4B82 F487 EF18 5872 D723

* remotes/juanquintela/tags/migration/20170922-1:
  migration: split ufd_version_check onto receive/request features part
  migration: fix hardcoded function name in error report
  migration: pass MigrationIncomingState* into migration check functions
  migration: split common postcopy out of ram postcopy
  migration: fix ram_save_pending
  migration: add has_postcopy savevm handler
  bitmap: provide to_le/from_le helpers
  bitmap: introduce bitmap_count_one()
  bitmap: remove BITOP_WORD()
  migration: Split migration_fd_process_incoming
  migration: Create multifd migration threads
  migration: Create x-multifd-page-count parameter
  migration: Create x-multifd-channels parameter
  migration: Add multifd capability
  migration: Create migration_has_all_channels
  migration: Add comments to channel functions
  migration: Teach it about G_SOURCE_REMOVE
  migration: Create migration_ioc_process_incoming()

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/159a9df02127...bef81b3eb521

reply via email to

[Prev in Thread] Current Thread [Next in Thread]