Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp2813163ybt; Mon, 22 Jun 2020 07:40:14 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyq5M1zDAyX1ebZUErt0ACXKdp6a9jJbg5jEuYzkNaJPqV272/Tfb6T3sqDl8PiVugEG78R X-Received: by 2002:a05:6402:393:: with SMTP id o19mr17572837edv.28.1592836813938; Mon, 22 Jun 2020 07:40:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592836813; cv=none; d=google.com; s=arc-20160816; b=cqg/vtqE8SWMWuP+r3FgSFFsFj+V+WvsSHzb3wx44n1CubEXlAtl3IpHM97Dr1UurA ZBq+08ReQk016GSwAHtv0jpCbfmXZWjjvo+wGPkcUneGt4SeZ5qhj6+4ue+40Hu6MMxH 8ufQWY7clyUy0Rx18LCH6N1qn2vN+oXHSc7vxDVaB9tJlGYLuvrNqYeRYrazRhNlCVXa DXypuDitTaTnGDKSzfiwBFWzg9hYNhtV5e+UqBlOcyqWd5YsAHqeU+4tSdtLyw/hU+wF FHGQbjByRiSbnTSqTJ2yXQLMEHuIkHvwtdEdM1TIFZmAuTO3dgCuPLJhIcB/mf8tT2px R4zA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=rhaA+I0JFMBynaEViVLcWDggNAbJpIVf0sPk39R0QYE=; b=u5GUxrfiWkshz7SWkKEiT+Mr2i1/fCmF3o3HkdLs9zNFed91KAPJPgwye0YllljYUU jxmn1OI5EzhXa5wjyCTTnI34sjlz1h4RSIbebocmY510Ft5tB1/8c/wKBwLORAcuWJ20 UEgUetkOcwZ8Y0iC1ZPYPAvbAgMK1egqQQnS4hUS5NKwU8jodslQsdpA/fsTlOgGf4fD zcGS+l1mP6YGNcEmA+MyxCi0sS/J3FqTgDiHMzPxrZq9mfzCnpMeB86O1K4yUPcYK7KV 8548qyPZlPQFsMAqzawEBDq1bWm+3lZdmdKFAICu4g5MXMEiaJcIUHg24cN7zjXjODig 0V8Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=CxbhIJef; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cw28si8690246edb.23.2020.06.22.07.39.51; Mon, 22 Jun 2020 07:40:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=CxbhIJef; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729451AbgFVOhN (ORCPT + 99 others); Mon, 22 Jun 2020 10:37:13 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:30914 "EHLO us-smtp-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729421AbgFVOhM (ORCPT ); Mon, 22 Jun 2020 10:37:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1592836631; 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=rhaA+I0JFMBynaEViVLcWDggNAbJpIVf0sPk39R0QYE=; b=CxbhIJefeK3bdc/WWmnlvyaf6C0IoQgUcZghuuGvriXly0fWvDUNcPeUHHOKJKxtD7wb3L Rv4ZZq7luH4TPs0dBDHrsQKKl445CidVt8NCz0CCqh+GpCB70anyVr2EldKSaqZlqR6kkw sIrPw12Ifx0RRpEw1vR+bdd6u1bXPJY= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-490-iB9V-ThKMAuTj8PJhdwxHw-1; Mon, 22 Jun 2020 10:37:09 -0400 X-MC-Unique: iB9V-ThKMAuTj8PJhdwxHw-1 Received: by mail-wm1-f72.google.com with SMTP id a18so6872035wmm.3 for ; Mon, 22 Jun 2020 07:37:08 -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=rhaA+I0JFMBynaEViVLcWDggNAbJpIVf0sPk39R0QYE=; b=jtRMJ3AVj1FVbAmPmU6a1uKkoNEWP4SqinkkG2yP4H01jZd2ggcFo3mzffnrnbZrog QTyzp/XiYe7I7tURaAFuBLtjdHTMzEDAUNi+GjX8u1+pT9oiiU6+5eFPfWaGa0haUMb3 udbqtas99388Gqk8Lw/a/eysgIFGDQp//5fFA+eplpYVNZiB+gJpfXc4XSwgyQ0B+Wd6 +Rd2Zo4avnpCZNWy9rkO8EPdHyFD4wLGJTbtS06+NOx+M9UUGaapDcj6antGnAjG0fCz T5Kcy2BqDu1hm9OneK6WQQWYpcwPs6Tqa1SWWtgDoEMb/FLl2wwzVIWP7cBNVVORdg/J HUkw== X-Gm-Message-State: AOAM533wQ4O2i0kSWRQPLN21C1wnxPL7u+eFlaB1LqTPIxGOM8TEPo/T nMADX1bd/Ip18cLeWys28rTpcEevaEmcEjL/XROBfh74cv/iHKSrO9NEruk8n0wpP6C91jzMJeQ 7wXrsHT4B9rY/opVNEkwy/7QG X-Received: by 2002:a05:600c:2317:: with SMTP id 23mr19095316wmo.139.1592836627931; Mon, 22 Jun 2020 07:37:07 -0700 (PDT) X-Received: by 2002:a05:600c:2317:: with SMTP id 23mr19095292wmo.139.1592836627759; Mon, 22 Jun 2020 07:37:07 -0700 (PDT) Received: from ?IPv6:2001:b07:6468:f312:fd64:dd90:5ad5:d2e1? ([2001:b07:6468:f312:fd64:dd90:5ad5:d2e1]) by smtp.gmail.com with ESMTPSA id w7sm12908477wmc.32.2020.06.22.07.37.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 22 Jun 2020 07:37:07 -0700 (PDT) Subject: Re: [PATCH v3] KVM: LAPIC: Recalculate apic map in batch To: Igor Mammedov Cc: Wanpeng Li , linux-kernel@vger.kernel.org, kvm@vger.kernel.org, Sean Christopherson , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel References: <1582684862-10880-1-git-send-email-wanpengli@tencent.com> <20200619143626.1b326566@redhat.com> <3e025538-297b-74e5-f1b1-2193b614978b@redhat.com> <20200622002637.33358827@redhat.com> From: Paolo Bonzini Message-ID: Date: Mon, 22 Jun 2020 16:37:06 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: <20200622002637.33358827@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 22/06/20 00:26, Igor Mammedov wrote: > > following sequence looks like a race that can cause lost map update events: > > cpu1 cpu2 > > apic_map_dirty = true > ------------------------------------------------------------ > kvm_recalculate_apic_map: > pass check > mutex_lock(&kvm->arch.apic_map_lock); > if (!kvm->arch.apic_map_dirty) > and in process of updating map > ------------------------------------------------------------- > other calls to > apic_map_dirty = true might be too late for affected cpu > ------------------------------------------------------------- > apic_map_dirty = false > ------------------------------------------------------------- > kvm_recalculate_apic_map: > bail out on > if (!kvm->arch.apic_map_dirty) I will post a fix for that. Thanks for the analysis! Paolo