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 X-Spam-Level: X-Spam-Status: No, score=-12.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0B09AC433B4 for ; Tue, 20 Apr 2021 08:07:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C89036109E for ; Tue, 20 Apr 2021 08:07:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230183AbhDTIH6 (ORCPT ); Tue, 20 Apr 2021 04:07:58 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:26632 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229552AbhDTIHz (ORCPT ); Tue, 20 Apr 2021 04:07:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1618906043; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=EbjQNPsOmd61SNUpmUILydUwe8xQv3dWwe1PfTSygNQ=; b=IDDuuQzbAtgygr5j6HoXkqBXAjkh8bnw9d07DUgCPS49KNHhzZo6zifGQ3frmYbhJMkq12 xV5pnRYRZv5hlR3FuGODGUA/OO3IyZj8UCl0fF3yDszCznbrLru3f9Gd6IsEoowLa7Mo85 BaRKJydYN/pViC76rBbnO0vKPWdvTrc= Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-234-J51HJ-H2NCOrk4i1c6-ufw-1; Tue, 20 Apr 2021 04:07:21 -0400 X-MC-Unique: J51HJ-H2NCOrk4i1c6-ufw-1 Received: by mail-ed1-f71.google.com with SMTP id p16-20020a0564021550b029038522733b66so4606993edx.11 for ; Tue, 20 Apr 2021 01:07:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=EbjQNPsOmd61SNUpmUILydUwe8xQv3dWwe1PfTSygNQ=; b=ghzrMtTRoHsRxaXYUm7qw+lKxBukD75XA2cG5HsxbCTwzjxSQ51N2A45Atk+NvTQDZ 77f17ndjDYB3cPl9zPEfPuCOTRDRhtj5PYvlRTnJhdr6dbAiJodRy9LQ/RpxzFFSl/Tl 4XLk3nqG0sYgSP2gxM2qqmyK7VLeVyvO9ZLGet1FaAbs9g515ky31DIGVNbjVNrr7uez q//SZQCqZcb/Mu7dweGIzE/UWieAll3NOKlVAVQC48nwLn0Lk0VbQ/qF/arX7/pOLJ/t GmMz0R8Lj8Ui1phgO5Q2/q8i+24BtI3E+QcFJ8kYeRuCigZOht+1QdZ44Q5kr5S5pNPq Fr4w== X-Gm-Message-State: AOAM532hSiJHzV3rbz9d7/GTSqTIu3V7GJQ8E0TC/A20gGFZVYXwrOic dUVMBn8SRxe9QZFiZ8b134dtvWFc1dK4x9pQQsNu6x/W0HYTv9Ed7OtK/vHIsYhUxPXJ8zfSiUd LI+co1IvGFXEjX2aPTzCQtUy6 X-Received: by 2002:a17:906:1749:: with SMTP id d9mr25347656eje.12.1618906040320; Tue, 20 Apr 2021 01:07:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzestOU1Hx/42FM/Q3tA4Y7DK3c7QFqfr3eVFbwu9JBEgEh6CabEu6bBrY3mmy/2UZJSk8H2Q== X-Received: by 2002:a17:906:1749:: with SMTP id d9mr25347637eje.12.1618906040103; Tue, 20 Apr 2021 01:07:20 -0700 (PDT) Received: from ?IPv6:2001:b07:6468:f312:c8dd:75d4:99ab:290a? ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id g26sm11921805ejz.70.2021.04.20.01.07.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 20 Apr 2021 01:07:17 -0700 (PDT) Subject: Re: [PATCH v3 1/2] KVM: selftests: Sync data verify of dirty logging with guest sync To: Peter Xu , linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: Andrew Jones , Sean Christopherson References: <20210417143602.215059-1-peterx@redhat.com> <20210417143602.215059-2-peterx@redhat.com> <20210418124351.GW4440@xz-x1> From: Paolo Bonzini Message-ID: <60b0c96c-161d-676d-c30a-a7ffeccab417@redhat.com> Date: Tue, 20 Apr 2021 10:07:16 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 MIME-Version: 1.0 In-Reply-To: <20210418124351.GW4440@xz-x1> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 18/04/21 14:43, Peter Xu wrote: > ----8<----- > diff --git a/tools/testing/selftests/kvm/dirty_log_test.c b/tools/testing/selftests/kvm/dirty_log_test.c > index 25230e799bc4..d3050d1c2cd0 100644 > --- a/tools/testing/selftests/kvm/dirty_log_test.c > +++ b/tools/testing/selftests/kvm/dirty_log_test.c > @@ -377,7 +377,7 @@ static void dirty_ring_after_vcpu_run(struct kvm_vm *vm, int ret, int err) > /* A ucall-sync or ring-full event is allowed */ > if (get_ucall(vm, VCPU_ID, NULL) == UCALL_SYNC) { > /* We should allow this to continue */ > - ; > + vcpu_handle_sync_stop(); > } else if (run->exit_reason == KVM_EXIT_DIRTY_RING_FULL || > (ret == -1 && err == EINTR)) { > /* Update the flag first before pause */ > ----8<----- > > That's my intention when I introduce vcpu_handle_sync_stop(), but forgot to > add... And possibly even this (untested though): diff --git a/tools/testing/selftests/kvm/dirty_log_test.c b/tools/testing/selftests/kvm/dirty_log_test.c index ffa4e2791926..918954f01cef 100644 --- a/tools/testing/selftests/kvm/dirty_log_test.c +++ b/tools/testing/selftests/kvm/dirty_log_test.c @@ -383,6 +383,7 @@ static void dirty_ring_after_vcpu_run(struct kvm_vm *vm, int ret, int err) /* Update the flag first before pause */ WRITE_ONCE(dirty_ring_vcpu_ring_full, run->exit_reason == KVM_EXIT_DIRTY_RING_FULL); + atomic_set(&vcpu_sync_stop_requested, false); sem_post(&sem_vcpu_stop); pr_info("vcpu stops because %s...\n", dirty_ring_vcpu_ring_full ? @@ -804,8 +805,7 @@ static void run_test(enum vm_guest_mode mode, void *arg) * the flush of the last page, and since we handle the last * page specially verification will succeed anyway. */ - assert(host_log_mode == LOG_MODE_DIRTY_RING || - atomic_read(&vcpu_sync_stop_requested) == false); + assert(atomic_read(&vcpu_sync_stop_requested) == false); vm_dirty_log_verify(mode, bmap); sem_post(&sem_vcpu_cont); You can submit all these as a separate patch. Paolo