qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] c02039: migration: Properly destroy variables


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] c02039: migration: Properly destroy variables on incoming ...
Date: Fri, 25 Sep 2020 09:30:32 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: c02039a6f3730ddcf683a0ba9a175688c6db71a0
      
https://github.com/qemu/qemu/commit/c02039a6f3730ddcf683a0ba9a175688c6db71a0
  Author: Peter Xu <peterx@redhat.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

  Changed paths:
    M migration/migration.c

  Log Message:
  -----------
  migration: Properly destroy variables on incoming side

In migration_incoming_state_destroy(), we've got a few variables that aren't
destroyed properly, namely:

    main_thread_load_event
    postcopy_pause_sem_dst
    postcopy_pause_sem_fault
    rp_mutex

Destroy them properly.

Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20200908203022.341615-2-peterx@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 2e2bce167ee7d54a339bbc4208dfb47979ec59b9
      
https://github.com/qemu/qemu/commit/2e2bce167ee7d54a339bbc4208dfb47979ec59b9
  Author: Peter Xu <peterx@redhat.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

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

  Log Message:
  -----------
  migration: Rework migrate_send_rp_req_pages() function

We duplicated the logic of maintaining the last_rb variable at both callers of
this function.  Pass *rb pointer into the function so that we can avoid
duplicating the logic.  Also, when we have the rb pointer, it's also easier to
remove the original 2nd & 4th parameters, because both of them (name of the
ramblock when needed, or the page size) can be fetched from the ramblock
pointer too.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20200908203022.341615-3-peterx@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 4240dceeb3362d7589faf2ea88235ca91ae447e4
      
https://github.com/qemu/qemu/commit/4240dceeb3362d7589faf2ea88235ca91ae447e4
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

  Changed paths:
    A migration/dirtyrate.c
    A migration/dirtyrate.h
    M migration/meson.build

  Log Message:
  -----------
  migration/dirtyrate: setup up query-dirtyrate framwork

Add get_dirtyrate_thread() functions to setup query-dirtyrate
framework.

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Signed-off-by: YanYing Zhuang <ann.zhuangyanying@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: David Edmondson <david.edmondson@oracle.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Message-Id: <1600237327-33618-2-git-send-email-zhengchuan@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 7df3aa30838c010ce9b2f587afdcd6609386f630
      
https://github.com/qemu/qemu/commit/7df3aa30838c010ce9b2f587afdcd6609386f630
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

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

  Log Message:
  -----------
  migration/dirtyrate: add DirtyRateStatus to denote calculation status

add DirtyRateStatus to denote calculating status.

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Message-Id: <1600237327-33618-3-git-send-email-zhengchuan@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
  atomic name fixup


  Commit: a2635f0a7508c3291c6bd2d88ea31b6ae7dfa341
      
https://github.com/qemu/qemu/commit/a2635f0a7508c3291c6bd2d88ea31b6ae7dfa341
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

  Changed paths:
    M migration/dirtyrate.h

  Log Message:
  -----------
  migration/dirtyrate: Add RamblockDirtyInfo to store sampled page info

Add RamblockDirtyInfo to store sampled page info of each ramblock.

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: David Edmondson <david.edmondson@oracle.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Message-Id: <1600237327-33618-4-git-send-email-zhengchuan@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: c9a58d719ba7b059d53d1b84ff3458be68cce5c8
      
https://github.com/qemu/qemu/commit/c9a58d719ba7b059d53d1b84ff3458be68cce5c8
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

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

  Log Message:
  -----------
  migration/dirtyrate: Add dirtyrate statistics series functions

Add dirtyrate statistics functions to record/update dirtyrate info.

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Message-Id: <1600237327-33618-5-git-send-email-zhengchuan@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 3ded54b1bd00177bf56d332636ecaf0da9d8b77e
      
https://github.com/qemu/qemu/commit/3ded54b1bd00177bf56d332636ecaf0da9d8b77e
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

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

  Log Message:
  -----------
  migration/dirtyrate: move RAMBLOCK_FOREACH_MIGRATABLE into ram.h

RAMBLOCK_FOREACH_MIGRATABLE is need in dirtyrate measure,
move the existing definition up into migration/ram.h

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: David Edmondson <david.edmondson@oracle.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Message-Id: <1600237327-33618-6-git-send-email-zhengchuan@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: ba0e519f953310267998d6af379304bd19c50f60
      
https://github.com/qemu/qemu/commit/ba0e519f953310267998d6af379304bd19c50f60
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

  Changed paths:
    M migration/dirtyrate.c

  Log Message:
  -----------
  migration/dirtyrate: Record hash results for each sampled page

Record hash results for each sampled page, crc32 is taken to calculate
hash results for each sampled length in TARGET_PAGE_SIZE.

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Signed-off-by: YanYing Zhuang <ann.zhuangyanying@huawei.com>
Reviewed-by: David Edmondson <david.edmondson@oracle.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Message-Id: <1600237327-33618-7-git-send-email-zhengchuan@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 9c04387b88a7685ab2b1f77911a56e91d8f67b6d
      
https://github.com/qemu/qemu/commit/9c04387b88a7685ab2b1f77911a56e91d8f67b6d
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

  Changed paths:
    M migration/dirtyrate.c

  Log Message:
  -----------
  migration/dirtyrate: Compare page hash results for recorded sampled page

Compare page hash results for recorded sampled page.

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Signed-off-by: YanYing Zhuang <ann.zhuangyanying@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Message-Id: <1600237327-33618-8-git-send-email-zhengchuan@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: f82583cdc05b89e5900e44ceacb6cc85f974b448
      
https://github.com/qemu/qemu/commit/f82583cdc05b89e5900e44ceacb6cc85f974b448
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

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

  Log Message:
  -----------
  migration/dirtyrate: skip sampling ramblock with size below MIN_RAMBLOCK_SIZE

In order to sample real RAM, skip ramblock with size below MIN_RAMBLOCK_SIZE
which is set as 128M.

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Reviewed-by: David Edmondson <david.edmondson@oracle.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Message-Id: <1600237327-33618-9-git-send-email-zhengchuan@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: eca582249c4cd3df2b6ff977e2ff481efb4c8517
      
https://github.com/qemu/qemu/commit/eca582249c4cd3df2b6ff977e2ff481efb4c8517
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

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

  Log Message:
  -----------
  migration/dirtyrate: Implement set_sample_page_period() and 
is_sample_period_valid()

Implement is_sample_period_valid() to check if the sample period is vaild and
do set_sample_page_period() to sleep specific time between sample actions.

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: David Edmondson <david.edmondson@oracle.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Message-Id: <1600237327-33618-10-git-send-email-zhengchuan@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: cf0bbb49d8f4d1825d33d8dc8b07dc6edade807b
      
https://github.com/qemu/qemu/commit/cf0bbb49d8f4d1825d33d8dc8b07dc6edade807b
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

  Changed paths:
    M migration/dirtyrate.c

  Log Message:
  -----------
  migration/dirtyrate: Implement calculate_dirtyrate() function

Implement calculate_dirtyrate() function.

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Signed-off-by: YanYing Zhuang <ann.zhuangyanying@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Message-Id: <1600237327-33618-11-git-send-email-zhengchuan@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 4c437254b807364df3d36e90be3b86251f405a83
      
https://github.com/qemu/qemu/commit/4c437254b807364df3d36e90be3b86251f405a83
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

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

  Log Message:
  -----------
  migration/dirtyrate: Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() 
function

Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() function which could be 
called

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Message-Id: <1600237327-33618-12-git-send-email-zhengchuan@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
  atomic function fixup
  Wording fixup in migration.json based on Eric's review


  Commit: 3c0b5dffc1768871960f3d904085e462b9e18a1f
      
https://github.com/qemu/qemu/commit/3c0b5dffc1768871960f3d904085e462b9e18a1f
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

  Changed paths:
    M migration/dirtyrate.c
    M migration/trace-events

  Log Message:
  -----------
  migration/dirtyrate: Add trace_calls to make it easier to debug

Add trace_calls to make it easier to debug

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: David Edmondson <david.edmondson@oracle.com>
Message-Id: <1600237327-33618-13-git-send-email-zhengchuan@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: b4deb9bf8d97dbee07781e90e2089c6410ea9098
      
https://github.com/qemu/qemu/commit/b4deb9bf8d97dbee07781e90e2089c6410ea9098
  Author: Dov Murik <dovmurik@linux.vnet.ibm.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

  Changed paths:
    M migration/savevm.c

  Log Message:
  -----------
  migration: Truncate state file in xen-save-devices-state

When running the xen-save-devices-state QMP command, if the filename
already exists it will be truncated before dumping the devices' state
into it.

Signed-off-by: Dov Murik <dovmurik@linux.vnet.ibm.com>
Message-Id: <20200921094830.114028-1-dovmurik@linux.vnet.ibm.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 7590a2ae091fde8bb72d5df93977ab9707e23242
      
https://github.com/qemu/qemu/commit/7590a2ae091fde8bb72d5df93977ab9707e23242
  Author: Laurent Vivier <lvivier@redhat.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

  Changed paths:
    M migration/migration.c

  Log Message:
  -----------
  migration: increase max-bandwidth to 128 MiB/s (1 Gib/s)

max-bandwidth is set by default to 32 MiB/s (256 Mib/s)
since 2008 (5bb7910af031c).

Most of the CPUs can dirty memory faster than that now,
and this is clearly a problem with POWER where the page
size is 64 kiB and not 4 KiB.

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Message-Id: <20200921144957.979989-1-lvivier@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: d8053e73fb2d295279b5cc4de7dc06bd581241ca
      
https://github.com/qemu/qemu/commit/d8053e73fb2d295279b5cc4de7dc06bd581241ca
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

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

  Log Message:
  -----------
  migration/tls: save hostname into MigrationState

hostname is need in multifd-tls, save hostname into MigrationState.

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Signed-off-by: Yan Jin <jinyan12@huawei.com>
Message-Id: <1600139042-104593-2-git-send-email-zhengchuan@huawei.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: bfb790e7b2bbbc19686cf6bc3b03742b8361ac82
      
https://github.com/qemu/qemu/commit/bfb790e7b2bbbc19686cf6bc3b03742b8361ac82
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

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

  Log Message:
  -----------
  migration/tls: extract migration_tls_client_create for common-use

migration_tls_client_create will be used in multifd-tls, let's
extract it.

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Signed-off-by: Yan Jin <jinyan12@huawei.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <1600139042-104593-3-git-send-email-zhengchuan@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 8e5fa059328643affe1cdb269f3f5ae1a52fe7ac
      
https://github.com/qemu/qemu/commit/8e5fa059328643affe1cdb269f3f5ae1a52fe7ac
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

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

  Log Message:
  -----------
  migration/tls: add tls_hostname into MultiFDSendParams

Since multifd creation is async with migration_channel_connect, we should
pass the hostname from MigrationState to MultiFDSendParams.

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Signed-off-by: Yan Jin <jinyan12@huawei.com>
Message-Id: <1600139042-104593-4-git-send-email-zhengchuan@huawei.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 03c7a42d0de6437923188238d4a1278ede0608ef
      
https://github.com/qemu/qemu/commit/03c7a42d0de6437923188238d4a1278ede0608ef
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

  Changed paths:
    M migration/multifd.c

  Log Message:
  -----------
  migration/tls: extract cleanup function for common-use

multifd channel cleanup is need if multifd handshake failed,
let's extract it.

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Signed-off-by: Yan Jin <jinyan12@huawei.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <1600139042-104593-5-git-send-email-zhengchuan@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 29647140157a4c91d4f80b8e8a633c6aabf579a6
      
https://github.com/qemu/qemu/commit/29647140157a4c91d4f80b8e8a633c6aabf579a6
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

  Changed paths:
    M migration/multifd.c

  Log Message:
  -----------
  migration/tls: add support for multifd tls-handshake

Similar like migration main thread, we need to do handshake
for each multifd thread.

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Signed-off-by: Yan Jin <jinyan12@huawei.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <1600139042-104593-6-git-send-email-zhengchuan@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 894f021411885ac11c53f1e4d6e48c630ce1bc85
      
https://github.com/qemu/qemu/commit/894f021411885ac11c53f1e4d6e48c630ce1bc85
  Author: Chuan Zheng <zhengchuan@huawei.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

  Changed paths:
    M migration/multifd.c
    M migration/trace-events

  Log Message:
  -----------
  migration/tls: add trace points for multifd-tls

add trace points for multifd-tls for debug.

Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
Signed-off-by: Yan Jin <jinyan12@huawei.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <1600139042-104593-7-git-send-email-zhengchuan@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 0210c3b39bef08b7e1d92f28ece771c1970c5f35
      
https://github.com/qemu/qemu/commit/0210c3b39bef08b7e1d92f28ece771c1970c5f35
  Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

  Changed paths:
    M monitor/misc.c

  Log Message:
  -----------
  monitor: Use LOCK_GUARD macros

Use the lock guard macros in monitor/misc.c - saves
a lot of unlocks in error paths, and the occasional goto.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20200922095741.101911-1-dgilbert@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: f1303afe222759105fc1787992098f5754c7e296
      
https://github.com/qemu/qemu/commit/f1303afe222759105fc1787992098f5754c7e296
  Author: Harry G. Coin <hgcoin@gmail.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

  Changed paths:
    M docs/tools/virtiofsd.rst

  Log Message:
  -----------
  virtiofsd: document cache=auto default

The virtiofsd --help output documents the cache=auto default value but
the man page does not. Fix this.

Signed-off-by: Harry G. Coin <hgcoin@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20200916112250.760245-1-stefanha@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 04d325e86f79bd61f8fd50d45ff795aca0dd3404
      
https://github.com/qemu/qemu/commit/04d325e86f79bd61f8fd50d45ff795aca0dd3404
  Author: Vivek Goyal <vgoyal@redhat.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

  Changed paths:
    M tools/virtiofsd/fuse_virtio.c
    M tools/virtiofsd/passthrough_seccomp.c

  Log Message:
  -----------
  virtiofsd: Used glib "shared" thread pool

glib offers thread pools and it seems to support "exclusive" and "shared"
thread pools.

https://developer.gnome.org/glib/stable/glib-Thread-Pools.html#g-thread-pool-new

Currently we use "exlusive" thread pools but its performance seems to be
poor. I tried using "shared" thread pools and performance seems much
better. I posted performance results here.

https://www.redhat.com/archives/virtio-fs/2020-September/msg00080.html

So lets switch to shared thread pools. We can think of making it optional
once somebody can show in what cases exclusive thread pools offer better
results. For now, my simple performance tests across the board see
better results with shared thread pools.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Message-Id: <20200921213216.GE13362@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
  With seccomp fix from Miklos


  Commit: e12a0edafeb5019aac74114b62a4703f79c5c693
      
https://github.com/qemu/qemu/commit/e12a0edafeb5019aac74114b62a4703f79c5c693
  Author: Jiachen Zhang <zhangjiachen.jaycee@bytedance.com>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

  Changed paths:
    M tools/virtiofsd/helper.c
    M tools/virtiofsd/passthrough_ll.c

  Log Message:
  -----------
  virtiofsd: Add -o allow_direct_io|no_allow_direct_io options

Due to the commit 65da4539803373ec4eec97ffc49ee90083e56efd, the O_DIRECT
open flag of guest applications will be discarded by virtiofsd. While
this behavior makes it consistent with the virtio-9p scheme when guest
applications use direct I/O, we no longer have any chance to bypass the
host page cache.

Therefore, we add a flag 'allow_direct_io' to lo_data. If '-o
 no_allow_direct_io' option is added, or none of '-o allow_direct_io' or
 '-o no_allow_direct_io' is added, the 'allow_direct_io' will be set to
 0, and virtiofsd discards O_DIRECT as before. If '-o allow_direct_io'
is added to the starting command-line, 'allow_direct_io' will be set to
1, so that the O_DIRECT flags will be retained and host page cache can
be bypassed.

Signed-off-by: Jiachen Zhang <zhangjiachen.jaycee@bytedance.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20200824105957.61265-1-zhangjiachen.jaycee@bytedance.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


  Commit: 8d16e72f2d4df2c9e631393adf1669a1da7efe8a
      
https://github.com/qemu/qemu/commit/8d16e72f2d4df2c9e631393adf1669a1da7efe8a
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-25 (Fri, 25 Sep 2020)

  Changed paths:
    M docs/tools/virtiofsd.rst
    M migration/channel.c
    A migration/dirtyrate.c
    A migration/dirtyrate.h
    M migration/meson.build
    M migration/migration.c
    M migration/migration.h
    M migration/multifd.c
    M migration/multifd.h
    M migration/postcopy-ram.c
    M migration/ram.c
    M migration/ram.h
    M migration/savevm.c
    M migration/tls.c
    M migration/tls.h
    M migration/trace-events
    M monitor/misc.c
    M qapi/migration.json
    M tools/virtiofsd/fuse_virtio.c
    M tools/virtiofsd/helper.c
    M tools/virtiofsd/passthrough_ll.c
    M tools/virtiofsd/passthrough_seccomp.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20200925a' 
into staging

Migration and virtiofsd pull

Chuan Zheng's Dirtyrate and TLS changes, with small fixes from Dov and
Luarent.
Small virtiofs changes from Harry, Stefan, Vivek and Jiachen.
One HMP/monitor rework from me.

# gpg: Signature made Fri 25 Sep 2020 13:03:50 BST
# gpg:                using RSA key 45F5C71B4A0CB7FB977A9FA90516331EBC5BFDE7
# gpg: Good signature from "Dr. David Alan Gilbert (RH2) <dgilbert@redhat.com>" 
[full]
# Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A  9FA9 0516 331E BC5B FDE7

* remotes/dgilbert/tags/pull-migration-20200925a: (26 commits)
  virtiofsd: Add -o allow_direct_io|no_allow_direct_io options
  virtiofsd: Used glib "shared" thread pool
  virtiofsd: document cache=auto default
  monitor: Use LOCK_GUARD macros
  migration/tls: add trace points for multifd-tls
  migration/tls: add support for multifd tls-handshake
  migration/tls: extract cleanup function for common-use
  migration/tls: add tls_hostname into MultiFDSendParams
  migration/tls: extract migration_tls_client_create for common-use
  migration/tls: save hostname into MigrationState
  migration: increase max-bandwidth to 128 MiB/s (1 Gib/s)
  migration: Truncate state file in xen-save-devices-state
  migration/dirtyrate: Add trace_calls to make it easier to debug
  migration/dirtyrate: Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() 
function
  migration/dirtyrate: Implement calculate_dirtyrate() function
  migration/dirtyrate: Implement set_sample_page_period() and 
is_sample_period_valid()
  migration/dirtyrate: skip sampling ramblock with size below MIN_RAMBLOCK_SIZE
  migration/dirtyrate: Compare page hash results for recorded sampled page
  migration/dirtyrate: Record hash results for each sampled page
  migration/dirtyrate: move RAMBLOCK_FOREACH_MIGRATABLE into ram.h
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/8c1c07929fea...8d16e72f2d4d



reply via email to

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