From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 71911C4332F for ; Fri, 7 Oct 2022 16:43:06 +0000 (UTC) Received: from localhost ([::1]:34350 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ogqRF-0001mk-I8 for qemu-devel@archiver.kernel.org; Fri, 07 Oct 2022 12:43:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43582) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ogq8E-0001L5-4m for qemu-devel@nongnu.org; Fri, 07 Oct 2022 12:23:26 -0400 Received: from prt-mail.chinatelecom.cn ([42.123.76.223]:54552 helo=chinatelecom.cn) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ogq88-0007tr-GE for qemu-devel@nongnu.org; Fri, 07 Oct 2022 12:23:25 -0400 HMM_SOURCE_IP: 172.18.0.218:57282.325216893 HMM_ATTACHE_NUM: 0000 HMM_SOURCE_TYPE: SMTP Received: from clientip-182.138.181.38 (unknown [172.18.0.218]) by chinatelecom.cn (HERMES) with SMTP id 7098C2800E2; Sat, 8 Oct 2022 00:23:03 +0800 (CST) X-189-SAVE-TO-SEND: huangy81@chinatelecom.cn Received: from ([182.138.181.38]) by app0025 with ESMTP id 24993334c10045b28f2070b6d513277c for armbru@redhat.com; Sat, 08 Oct 2022 00:23:04 CST X-Transaction-ID: 24993334c10045b28f2070b6d513277c X-Real-From: huangy81@chinatelecom.cn X-Receive-IP: 182.138.181.38 X-MEDUSA-Status: 0 Message-ID: <9fc910bf-1dd4-dc05-34bf-556084a6d06f@chinatelecom.cn> Date: Sat, 8 Oct 2022 00:22:59 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.3.1 Subject: Re: [PATCH v1 5/8] migration: Export dirty-limit time info To: Markus Armbruster Cc: qemu-devel , Peter Xu , Juan Quintela , "Dr. David Alan Gilbert" , Eric Blake , Thomas Huth , Laurent Vivier , Paolo Bonzini , "Daniel P. Berrange" References: <5ca0b4ae2aa787c1547d798521ab0e67867437a8.1662052189.git.huangy81@chinatelecom.cn> <87o7uvjszm.fsf@pond.sub.org> <00eac029-89b0-04ae-f591-c91ac5baba51@chinatelecom.cn> <8735bzr7pa.fsf@pond.sub.org> From: Hyman Huang In-Reply-To: <8735bzr7pa.fsf@pond.sub.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=42.123.76.223; envelope-from=huangy81@chinatelecom.cn; helo=chinatelecom.cn X-Spam_score_int: -45 X-Spam_score: -4.6 X-Spam_bar: ---- X-Spam_report: (-4.6 / 5.0 requ) BAYES_00=-1.9, NICE_REPLY_A=-2.699, SPF_PASS=-0.001, T_SPF_HELO_TEMPERROR=0.01 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" 在 2022/10/7 23:09, Markus Armbruster 写道: > Hyman Huang writes: > >> 在 2022/10/2 2:31, Markus Armbruster 写道: >>> huangy81@chinatelecom.cn writes: >>> >>>> From: Hyman Huang(黄勇) >>>> >>>> Export dirty limit throttle time and estimated ring full >>>> time, through which we can observe the process of dirty >>>> limit during live migration. >>>> >>>> Signed-off-by: Hyman Huang(黄勇) >>> [...] >>> >>>> diff --git a/qapi/migration.json b/qapi/migration.json >>>> index bc4bc96..c263d54 100644 >>>> --- a/qapi/migration.json >>>> +++ b/qapi/migration.json >>>> @@ -242,6 +242,12 @@ >>>> # Present and non-empty when migration is blocked. >>>> # (since 6.0) >>>> # >>>> +# @dirty-limit-throttle-us-per-full: Throttle time (us) during the period of >>>> +# dirty ring full (since 7.0) >>>> +# >>>> +# @dirty-limit-us-ring-full: Estimated periodic time (us) of dirty ring full. >>>> +# (since 7.0) >>>> +# >>> >>> Can you explain what is measured here a bit more verbosely? >> >> The two fields of migration info aims to export dirty-limit throttle time so that upper apps can check out the process of live migration, >> like 'cpu-throttle-percentage'. >> >> The commit "tests: Add migration dirty-limit capability test" make use of the 'dirty-limit-throttle-us-per-full' to checkout if dirty-limit has >> started, the commit "tests/migration: Introduce dirty-limit into guestperf" introduce the two field so guestperf tools also show the >> process of dirty-limit migration. >> >> And i also use qmp_query_migrate to observe the migration by checkout these two fields. >> >> I'm not sure if above explantation is what you want exactly, please be free to start any discussion about this features. > > You explained use cases, which is always welcome. > > I'm trying to understand the two new members' meaning, i.e. what exactly > is being measured. dirty-limit-throttle-us-per-full: Means the time vCPU should sleep once it's dirty ring get full, since we set limit on vCPU every time it returns to Qemu for the KVM_EXIT_DIRTY_RING_FULL reason, the sleep time may also changes everty time dirty ring get full. 'dirty-limit-throttle-us-per-full' can be simplified as 'throttle time(us) every time vCPU's dirty ring full get full'. The 'dirty-limit' is just the prefix to mark that parameter is dirty-limit-related. dirty-limit-us-ring-full: It is an estimated value which means the time a vCPU's dirty ring get full. It depends on the vCPU's dirty page rate, the higher the rate is, the smaller dirty-limit-us-ring-full is. dirty-limit-throttle-us-per-full / dirty-limit-us-ring-full * 100 is kind of like 'cpu-throttle-percentage'. Thanks, Yong > > For existing @cpu-throttle-percentage, the doc comment tells me: > "percentage of time guest cpus are being throttled during > auto-converge." > > For the your new members, the doc comment tries to tell me, but it > doesn't succeed. If you explain what is being measured more verbosely, > we may be able to improve the doc comment. > -- Best regard Hyman Huang(黄勇)