[{"id":3688030,"web_url":"http://patchwork.ozlabs.org/comment/3688030/","msgid":"<CAFEAcA-MYH6C39xO0OLx4-M5pKurJpurwRsMqZe9q=W-NShAbw@mail.gmail.com>","list_archive_url":null,"date":"2026-05-07T19:57:24","subject":"Re: [PULL 13/23] migration: Calculate expected downtime on demand","submitter":{"id":5111,"url":"http://patchwork.ozlabs.org/api/people/5111/","name":"Peter Maydell","email":"peter.maydell@linaro.org"},"content":"On Tue, 5 May 2026 at 21:29, Peter Xu <peterx@redhat.com> wrote:\n>\n> This value does not need to be calculated as frequent.  Only calculate it\n> on demand when query-migrate happened.  With that we can remove the\n> variable in MigrationState.\n>\n> This paves way for fixing this value to include all modules (not only RAM\n> but others too).\n>\n> Reviewed-by: Juraj Marcin <jmarcin@redhat.com>\n> Link: https://lore.kernel.org/r/20260421202110.306051-12-peterx@redhat.com\n> Signed-off-by: Peter Xu <peterx@redhat.com>\n\nHi; I'm seeing a clang undefined-behaviour sanitizer failure\nin the code introduced in this change when running the\naarch64 migration-test via \"make check\" on an x86-64 host.\n\nIt seems to happen fairly reliably when I do a \"make check -j20\",\nbut not when I run the test on its own, so it's probably load dependent.\n\nHere's the backtrace:\n\n../../migration/migration.c:1051:12: runtime error: inf is outside the\nrange of representable values of type 'long'\n    #0 0x57b49d635c0d in migration_downtime_calc_expected\n/home/pm215/qemu/build/arm-clang/../../migration/migration.c:1051:12\n    #1 0x57b49d63e860 in populate_time_info\n/home/pm215/qemu/build/arm-clang/../../migration/migration.c:1075:35\n    #2 0x57b49d63617e in fill_source_migration_info\n/home/pm215/qemu/build/arm-clang/../../migration/migration.c:1184:9\n    #3 0x57b49d63617e in qmp_query_migrate\n/home/pm215/qemu/build/arm-clang/../../migration/migration.c:1264:5\n    #4 0x57b49e4aed75 in qmp_marshal_query_migrate\n/home/pm215/qemu/build/arm-clang/qapi/qapi-commands-migration.c:48:14\n    #5 0x57b49e526814 in do_qmp_dispatch_bh\n/home/pm215/qemu/build/arm-clang/../../qapi/qmp-dispatch.c:128:5\n    #6 0x57b49e58c35a in aio_bh_call\n/home/pm215/qemu/build/arm-clang/../../util/async.c:173:5\n    #7 0x57b49e58c698 in aio_bh_poll\n/home/pm215/qemu/build/arm-clang/../../util/async.c:220:13\n    #8 0x57b49e542fc1 in aio_dispatch\n/home/pm215/qemu/build/arm-clang/../../util/aio-posix.c:390:5\n    #9 0x57b49e58f10a in aio_ctx_dispatch\n/home/pm215/qemu/build/arm-clang/../../util/async.c:365:5\n    #10 0x7c74a09b8584\n(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5d584) (BuildId:\n116e142b9b52c8a4dfd403e759e71ab8f95d8bb3)\n    #11 0x7c74a09b86cf in g_main_context_dispatch\n(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5d6cf) (BuildId:\n116e142b9b52c8a4dfd403e759e71ab8f95d8bb3)\n    #12 0x57b49e5901cb in glib_pollfds_poll\n/home/pm215/qemu/build/arm-clang/../../util/main-loop.c:290:9\n    #13 0x57b49e5901cb in os_host_main_loop_wait\n/home/pm215/qemu/build/arm-clang/../../util/main-loop.c:313:5\n    #14 0x57b49e5901cb in main_loop_wait\n/home/pm215/qemu/build/arm-clang/../../util/main-loop.c:592:11\n    #15 0x57b49d5f5486 in qemu_main_loop\n/home/pm215/qemu/build/arm-clang/../../system/runstate.c:948:9\n    #16 0x57b49e42cdfb in qemu_default_main\n/home/pm215/qemu/build/arm-clang/../../system/main.c:50:14\n    #17 0x57b49e42cdd3 in main\n/home/pm215/qemu/build/arm-clang/../../system/main.c:93:9\n\n\n> +/* Return expected downtime (unit: milliseconds) */\n> +int64_t migration_downtime_calc_expected(MigrationState *s)\n> +{\n> +    if (mig_stats.dirty_sync_count <= 1) {\n> +        return migrate_downtime_limit();\n> +    }\n> +\n> +    return mig_stats.dirty_bytes_last_sync /\n> +        migration_get_switchover_bw(s) * 1000;\n> +}\n\nPresumably in this function migration_get_switchover_bw() returns 0,\nso the (floating-point) division results in Infinity. That's fine\nuntil we have to convert it to int64_t to return it, which is the\nUB that the sanitizer is complaining about...\n\nthanks\n-- PMM","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=cQVJnVst;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4gBNMv2LBtz1yKd\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 08 May 2026 05:58:01 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wL4qq-0006Q1-Fs; Thu, 07 May 2026 15:57:40 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <peter.maydell@linaro.org>)\n id 1wL4qo-0006Ps-Kv\n for qemu-devel@nongnu.org; Thu, 07 May 2026 15:57:38 -0400","from mail-yx1-xb12f.google.com ([2607:f8b0:4864:20::b12f])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <peter.maydell@linaro.org>)\n id 1wL4qm-00010V-PH\n for qemu-devel@nongnu.org; Thu, 07 May 2026 15:57:38 -0400","by mail-yx1-xb12f.google.com with SMTP id\n 956f58d0204a3-65c37eafcbeso1541427d50.1\n for <qemu-devel@nongnu.org>; Thu, 07 May 2026 12:57:36 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; t=1778183855; cv=none;\n d=google.com; s=arc-20240605;\n b=VoMHPvPXVgxd/AzyYIaT9DNmDufNP2rbTFx9O7jAjF/atl8orCbpRH/E+pWe5DiS6L\n dPJeTyPjPro/cQL+60smzIWXM+ESRxv9mMsWTCtj9EPrf9Hlo5iWdjBp+O0nym3eRNvc\n v1uwvZ+qJdmpYFRaL1G1i3OSB/d7Ly1cxIWCgnTCLtzUGugj+5tw+SLDlXGEUttliJ1u\n E//JnGG/c655dUTH8nMNAcUGpn76P1MY+R5v6vuhz01Fd6c0UJMW7yPjCBusC3V9BPRw\n a14JstZ10cKSzNe7QSOZ84VoqH7UxXw9kFp9bbLRMeLP+OZwUailiUWQlA8FeFMg/J9k\n 4CmQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:dkim-signature;\n bh=JxpJZfrVRmJOSp5G9KZjW21FKVIqMLCMiL97D1mfnaE=;\n fh=Zy8f29HJFJfjn54T4OIGQBQXkI5p+92xlVl4K44vjn4=;\n b=DpsMSToEWuaMuuM7Fv37fVb0fG5SxllWoJGKjp8PrIB2gvbcbXRBycbruLTgL2TShI\n lTXhwEX/ZJmMwDqKQJtWFGCXFLMWQk20u4wzbKXGjbQSj7Qdn9s59+HDAhCWV40wquou\n KRxq6p0YCQTwfF3gJqFKcrNiDmjj088soCx6HJwkDrhiqpGSLxNleeBX0J8/+9tyaX4H\n 0eqc7BBinfotcc6hQ/THq2KbYaQkjdVL0oJi7j/moD2R0NUvBy4FiP4mce4W1yjGruOz\n q0AVEiaFr55qsaFfaqfxdUGWx9L9/sP8GkcBIV56bTLE8HHFawBUnGTHy3oP7kxo0pCl\n jFoQ==; darn=nongnu.org","ARC-Authentication-Results":"i=1; mx.google.com; arc=none","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1778183855; x=1778788655; darn=nongnu.org;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:from:to:cc:subject:date:message-id:reply-to;\n bh=JxpJZfrVRmJOSp5G9KZjW21FKVIqMLCMiL97D1mfnaE=;\n b=cQVJnVstuOOtb9UEhpn2zvusq6UvrRtPFIwKlr3MOhJbJUh1/zBdxUjsCbrK5vLVjb\n wi3wXx2iDxfS+CFjCkV5PgmdGLIWEYywK5iLqp47tNwAt1censkhf+/Lw47nV4oVBxs7\n UynXRwBQ0WqYzj6UevnNwFdAXeMMJcrCXg56iM40MytMdosyj769CCxi6EUCozeaU0bI\n Jz+8appZ3qSjkKyNdvkS8j7tptRIWbVKB1Hdyy6I/4tqI+kFbjDFWZWHiFd4O02eeP4N\n at3xS/vDUMZeXuK5kTW9mHV/Ss0daxAjnrI3guorCfCvM+icXHRjEu93lxwmmkINpcMD\n S9oA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1778183855; x=1778788655;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=JxpJZfrVRmJOSp5G9KZjW21FKVIqMLCMiL97D1mfnaE=;\n b=dsRYITlOL2rVO3Au4zgzhMYjj7ylHiB8U81co5dnPotZR41ImCKIwZn2XFSyZfs4cj\n qKnfSB/ui+cXH9b/3CB10B6jiOlllk4crEgoNIL613w5YBfKfG57gB5zhwHbmnNgMqnP\n CjAKUq9R9ijl2cQRKvmoSSwwhDv+TPjYWRj6MGJhSzGWsyjYx9R4IhYVZ2nrJSRDz06t\n xnfU2DZduEyY5gJ62HIjqtd78eIhRectONgvQ1vvs/Ge8YJD5DR+ImnqswKNAeLHpNvW\n 5ORVkXq/gZzjK+0PPAriyFxkxO0gxqM8o2Vbrf/y8GrOOFSyukrfqt4Fgv+DNPOz6MHt\n f6Kw==","X-Gm-Message-State":"AOJu0Yzryyrk7Sm7oZE0hEH9epNUC0tLtukwdLgOZzYefb+QZpHhrRWn\n LX0CO6rFH58lFn9ofAuVSOohiVidc5sgWbVfK1WneslAVWP6lnsQr1Qi7OaFHVDArto6HJKfqrV\n FmsRjyA/o3Gnf9FMwxEOHZ9WA45s1PVmuAzQqJ8axzQ==","X-Gm-Gg":"Acq92OHzITwrW1i6gfYTAx+hIfKnzbkvjF8nMT0dUqogt3C1Nttct4jLW0p94Ln2yEE\n GKOC1oi+mtLIW/TSMvh5QnvjSZdbV9hnEm32LKkaoJHxqqt9dMDATrek1Z0NoZ9DO8G91l/ppNx\n yas9Vj8GexBzIj5BpLpYTfCWTZSUsoYcgtLVogQSuzZsEP1ExOrTNwSsXMS/okgr8RrO0mDQx9d\n mOHTIMnU+2/tbN8lWaxL7O3gMW/54CK7qax4hxsGw6SMqpPL4aYLWF60AxfuLa7hfP4FgO5dP3I\n dloF3buMe9rLfnXMZx95ZY9sLp0mp0DQ1uAcVAYaFpf6uuIviwP/XI/LpNz9X+rSz2VBch/yJem\n vJA==","X-Received":"by 2002:a05:690e:c45:b0:65c:6de6:b220 with SMTP id\n 956f58d0204a3-65c79922524mr9833826d50.21.1778183855529; Thu, 07 May 2026\n 12:57:35 -0700 (PDT)","MIME-Version":"1.0","References":"<20260505202640.1011006-1-peterx@redhat.com>\n <20260505202640.1011006-14-peterx@redhat.com>","In-Reply-To":"<20260505202640.1011006-14-peterx@redhat.com>","From":"Peter Maydell <peter.maydell@linaro.org>","Date":"Thu, 7 May 2026 20:57:24 +0100","X-Gm-Features":"AVHnY4IL8knNPEqIHIBPGbX-x-UD5Slw2KmxvdaMJI0ks5ksy-8FQEaEjezO45M","Message-ID":"\n <CAFEAcA-MYH6C39xO0OLx4-M5pKurJpurwRsMqZe9q=W-NShAbw@mail.gmail.com>","Subject":"Re: [PULL 13/23] migration: Calculate expected downtime on demand","To":"Peter Xu <peterx@redhat.com>","Cc":"qemu-devel@nongnu.org, Fabiano Rosas <farosas@suse.de>,\n Paolo Bonzini <pbonzini@redhat.com>, Juraj Marcin <jmarcin@redhat.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Received-SPF":"pass client-ip=2607:f8b0:4864:20::b12f;\n envelope-from=peter.maydell@linaro.org; helo=mail-yx1-xb12f.google.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}},{"id":3689387,"web_url":"http://patchwork.ozlabs.org/comment/3689387/","msgid":"<agHeLeJ-uVz0B5jg@x1.local>","list_archive_url":null,"date":"2026-05-11T13:48:29","subject":"Re: [PULL 13/23] migration: Calculate expected downtime on demand","submitter":{"id":67717,"url":"http://patchwork.ozlabs.org/api/people/67717/","name":"Peter Xu","email":"peterx@redhat.com"},"content":"On Thu, May 07, 2026 at 08:57:24PM +0100, Peter Maydell wrote:\n> On Tue, 5 May 2026 at 21:29, Peter Xu <peterx@redhat.com> wrote:\n> >\n> > This value does not need to be calculated as frequent.  Only calculate it\n> > on demand when query-migrate happened.  With that we can remove the\n> > variable in MigrationState.\n> >\n> > This paves way for fixing this value to include all modules (not only RAM\n> > but others too).\n> >\n> > Reviewed-by: Juraj Marcin <jmarcin@redhat.com>\n> > Link: https://lore.kernel.org/r/20260421202110.306051-12-peterx@redhat.com\n> > Signed-off-by: Peter Xu <peterx@redhat.com>\n> \n> Hi; I'm seeing a clang undefined-behaviour sanitizer failure\n> in the code introduced in this change when running the\n> aarch64 migration-test via \"make check\" on an x86-64 host.\n> \n> It seems to happen fairly reliably when I do a \"make check -j20\",\n> but not when I run the test on its own, so it's probably load dependent.\n> \n> Here's the backtrace:\n> \n> ../../migration/migration.c:1051:12: runtime error: inf is outside the\n> range of representable values of type 'long'\n>     #0 0x57b49d635c0d in migration_downtime_calc_expected\n> /home/pm215/qemu/build/arm-clang/../../migration/migration.c:1051:12\n>     #1 0x57b49d63e860 in populate_time_info\n> /home/pm215/qemu/build/arm-clang/../../migration/migration.c:1075:35\n>     #2 0x57b49d63617e in fill_source_migration_info\n> /home/pm215/qemu/build/arm-clang/../../migration/migration.c:1184:9\n>     #3 0x57b49d63617e in qmp_query_migrate\n> /home/pm215/qemu/build/arm-clang/../../migration/migration.c:1264:5\n>     #4 0x57b49e4aed75 in qmp_marshal_query_migrate\n> /home/pm215/qemu/build/arm-clang/qapi/qapi-commands-migration.c:48:14\n>     #5 0x57b49e526814 in do_qmp_dispatch_bh\n> /home/pm215/qemu/build/arm-clang/../../qapi/qmp-dispatch.c:128:5\n>     #6 0x57b49e58c35a in aio_bh_call\n> /home/pm215/qemu/build/arm-clang/../../util/async.c:173:5\n>     #7 0x57b49e58c698 in aio_bh_poll\n> /home/pm215/qemu/build/arm-clang/../../util/async.c:220:13\n>     #8 0x57b49e542fc1 in aio_dispatch\n> /home/pm215/qemu/build/arm-clang/../../util/aio-posix.c:390:5\n>     #9 0x57b49e58f10a in aio_ctx_dispatch\n> /home/pm215/qemu/build/arm-clang/../../util/async.c:365:5\n>     #10 0x7c74a09b8584\n> (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5d584) (BuildId:\n> 116e142b9b52c8a4dfd403e759e71ab8f95d8bb3)\n>     #11 0x7c74a09b86cf in g_main_context_dispatch\n> (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5d6cf) (BuildId:\n> 116e142b9b52c8a4dfd403e759e71ab8f95d8bb3)\n>     #12 0x57b49e5901cb in glib_pollfds_poll\n> /home/pm215/qemu/build/arm-clang/../../util/main-loop.c:290:9\n>     #13 0x57b49e5901cb in os_host_main_loop_wait\n> /home/pm215/qemu/build/arm-clang/../../util/main-loop.c:313:5\n>     #14 0x57b49e5901cb in main_loop_wait\n> /home/pm215/qemu/build/arm-clang/../../util/main-loop.c:592:11\n>     #15 0x57b49d5f5486 in qemu_main_loop\n> /home/pm215/qemu/build/arm-clang/../../system/runstate.c:948:9\n>     #16 0x57b49e42cdfb in qemu_default_main\n> /home/pm215/qemu/build/arm-clang/../../system/main.c:50:14\n>     #17 0x57b49e42cdd3 in main\n> /home/pm215/qemu/build/arm-clang/../../system/main.c:93:9\n> \n> \n> > +/* Return expected downtime (unit: milliseconds) */\n> > +int64_t migration_downtime_calc_expected(MigrationState *s)\n> > +{\n> > +    if (mig_stats.dirty_sync_count <= 1) {\n> > +        return migrate_downtime_limit();\n> > +    }\n> > +\n> > +    return mig_stats.dirty_bytes_last_sync /\n> > +        migration_get_switchover_bw(s) * 1000;\n> > +}\n> \n> Presumably in this function migration_get_switchover_bw() returns 0,\n> so the (floating-point) division results in Infinity. That's fine\n> until we have to convert it to int64_t to return it, which is the\n> UB that the sanitizer is complaining about...\n\nTrue, I can easily reproduce the warning too.  I'll send a patch.\n\nThanks,","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=SVOWsmOY;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=google header.b=OFqO/HYJ;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4gDh0h4KSRz1yHW\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 11 May 2026 23:49:22 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wMR0D-0006La-72; Mon, 11 May 2026 09:48:57 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <peterx@redhat.com>) id 1wMQzy-0006K8-4i\n for qemu-devel@nongnu.org; Mon, 11 May 2026 09:48:46 -0400","from us-smtp-delivery-124.mimecast.com ([170.10.133.124])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <peterx@redhat.com>) id 1wMQzv-0003gc-US\n for qemu-devel@nongnu.org; Mon, 11 May 2026 09:48:41 -0400","from mail-qt1-f198.google.com (mail-qt1-f198.google.com\n [209.85.160.198]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-596-g2w0QrP3MHOc7yUsTESPPw-1; Mon, 11 May 2026 09:48:33 -0400","by mail-qt1-f198.google.com with SMTP id\n d75a77b69052e-51009190feeso77454111cf.2\n for <qemu-devel@nongnu.org>; Mon, 11 May 2026 06:48:33 -0700 (PDT)","from x1.local ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id\n 6a1803df08f44-8b53d35787esm312282626d6.44.2026.05.11.06.48.30\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 11 May 2026 06:48:30 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1778507318;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n in-reply-to:in-reply-to:references:references;\n bh=4lRusBxp69b291Rn2KyoduTNZklrUnXfQmClhnt/9XI=;\n b=SVOWsmOY13ABaALthqq73/P/T9Ca98xSr2nvUs26wlOEJhca9De+V3e1Okh0WuEFYDt/RL\n nAkiJLjkrkYj4Co8Q2nn4vghZAqdtPZOB96yu/6yiSJT6hID6j03WFI4yZEhSO13MAJ+W6\n 2b3XE8NF09cYI4IKw6tPH98UTns+JUA=","v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=redhat.com; s=google; t=1778507313; x=1779112113; darn=nongnu.org;\n h=in-reply-to:content-disposition:mime-version:references:message-id\n :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;\n bh=4lRusBxp69b291Rn2KyoduTNZklrUnXfQmClhnt/9XI=;\n b=OFqO/HYJAVxvYxDJcRr8ckFyDaejoPnjkQ0aP6qBwXteaIhJHyl73THqbbf078OBKN\n uDjiBs5Q3KaSC4ffi5dR9zUvU0FZ7FOXGTxWjlXGPlIk0EzG4Yv14neiWZf19S/TCViz\n PP4vS3iOW3fKO4goqRgbHKwSJo5V+L0fo6J2DBZxrMKmtA5dr73da/MTP/DiA1LcEMSw\n RHIP0rV5q/gZnPXRlR1HXMYSj0HHCsUz+lDPrCvOeczg+pZznOh8bxYq0WRE1g0CZb+y\n fdEoF/isv3WdSbnu5uDMOEku+lRQ2UXdDkAvqEBTzIM/sFNgoLahps3/TTcA4QsLikT2\n Nm9g=="],"X-MC-Unique":"g2w0QrP3MHOc7yUsTESPPw-1","X-Mimecast-MFC-AGG-ID":"g2w0QrP3MHOc7yUsTESPPw_1778507313","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1778507313; x=1779112113;\n h=in-reply-to:content-disposition:mime-version:references:message-id\n :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=4lRusBxp69b291Rn2KyoduTNZklrUnXfQmClhnt/9XI=;\n b=hiVaa3Trlyre+d716b7aLjCjzVS/v+TuSkBAbcVylwKn2gglCMyUC76/lydyAEokYQ\n 6xQbN0KW/ZHZemRZv0TDRJ8ORWRTXwQlWWP2ndRqq3e/Hajmu7hRdRyTZjlmi9jfAl5U\n pBdvapvDTkUv+optiqGD10Lh5BzLP1Nqzb1c3PZP97EGLkbuEEIVJv36wAu+dnYvOJfx\n 7kz10hoINIrwAr1UpAQIHkuakI9E0QALm8+K0V5dmXAtIAEnQ/chYgAB0mYo+Yn5oTHl\n Vy2leF9c5WKwXkaeoorLvz+Sxha6hPZP1gSJbeYNrobMd/JmJIIIVY64CWQw9U9a4jS4\n PtBQ==","X-Gm-Message-State":"AOJu0YyMbt9fkKlrfYUyqLFzewJFYzm0KBcl7hes9Mq8QrPTz4qHgTwe\n B0fdOu6blcpicY2qr7KoljzqF4D8D2g2sL7ImCs6oz139Z0yZPd5Bmb/wOQeoFN00p0RFqGthZi\n EVqS7iHQLHOfcmUoZyyglV0lYpRarEIaaFTBEQnAeFy0qlgeqOvduOEvX","X-Gm-Gg":"Acq92OFuzPWljv+1m7rJMpfxHuTrhHogThWsYHte9lEjHnk7Dzl4ytVSEzwf9NOUzgJ\n i4yUBBFudKU6dOIDDv5p/m/tlHc6fL5f5ssSW0Ijv4iVjF26NzdW1kFJi6DUyrBODdddEXd1kr8\n RTGpj9nMs+n6KOxfwmMnzVovJCjQjsP2sjXg/k9oFu60NENayyJs9VLQ8whCmvxS5DkM1snjUlL\n BZmTrteN/vzow5C/NdEBr8hBmh89R2BlrLQ7S/spPz/l7wuvEokE480TQV7MmN724M0vG1kN1H5\n 5nKfq1mp8d+zjzuvHBkFtFCvNZNAMmERCy3FhIFCABmsZRMZ0i/nflrOndjYglw3+C5/vSEIRRP\n O54/SOJsVQQIqia1ybuUV1zxBpH2sO+/fbeQTRQ1AKGFCXuM=","X-Received":["by 2002:a05:622a:149:b0:50f:b17d:7e5e with SMTP id\n d75a77b69052e-514a0a8ebecmr132311481cf.24.1778507312994;\n Mon, 11 May 2026 06:48:32 -0700 (PDT)","by 2002:a05:622a:149:b0:50f:b17d:7e5e with SMTP id\n d75a77b69052e-514a0a8ebecmr132310271cf.24.1778507311878;\n Mon, 11 May 2026 06:48:31 -0700 (PDT)"],"Date":"Mon, 11 May 2026 09:48:29 -0400","From":"Peter Xu <peterx@redhat.com>","To":"Peter Maydell <peter.maydell@linaro.org>","Cc":"qemu-devel@nongnu.org, Fabiano Rosas <farosas@suse.de>,\n Paolo Bonzini <pbonzini@redhat.com>, Juraj Marcin <jmarcin@redhat.com>","Subject":"Re: [PULL 13/23] migration: Calculate expected downtime on demand","Message-ID":"<agHeLeJ-uVz0B5jg@x1.local>","References":"<20260505202640.1011006-1-peterx@redhat.com>\n <20260505202640.1011006-14-peterx@redhat.com>\n <CAFEAcA-MYH6C39xO0OLx4-M5pKurJpurwRsMqZe9q=W-NShAbw@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"\n <CAFEAcA-MYH6C39xO0OLx4-M5pKurJpurwRsMqZe9q=W-NShAbw@mail.gmail.com>","Received-SPF":"pass client-ip=170.10.133.124; envelope-from=peterx@redhat.com;\n helo=us-smtp-delivery-124.mimecast.com","X-Spam_score_int":"-24","X-Spam_score":"-2.5","X-Spam_bar":"--","X-Spam_report":"(-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001,\n SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}}]