From patchwork Mon Nov 7 20:34:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Auger X-Patchwork-Id: 16673 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp2287130wru; Mon, 7 Nov 2022 12:50:32 -0800 (PST) X-Google-Smtp-Source: AMsMyM41mDM48R8DiGZJ2VKR6L5fvgBsY8z/C9n3HkJ7zsWfcMy257vgO35PZZiOTdT2k7ttIdMe X-Received: by 2002:a17:906:3fd2:b0:78d:b793:5ef9 with SMTP id k18-20020a1709063fd200b0078db7935ef9mr48302522ejj.496.1667854232292; Mon, 07 Nov 2022 12:50:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1667854232; cv=none; d=google.com; s=arc-20160816; b=XSmA3/NrJGgsHljF5fKKEVwsaFQ3tD1qGqBZU8Vt6JAvUqA+OTwaHAdUPn1+ohvIgg ggUelI/fafIfT2/aV0fLb7VyD/+Hz4W0UKPRkNbqNuwLQs3gFBiyOhcB75+ntuIaGs8h yv6+pRc/SuXyyHSeDKJSxdpHqImPTX2Bh8HrVCruw+njlflERbi7Thby2kLJ1CAA1sn9 GOEO/vFtg1ijueFlxuuYLmRV9Q/RwaSLY2Q3rFpplOUjyHVPjQvsiAbd4zHIBXQ2p6kV 5UIYkxiA3tAWM/txKBAyqKq8PQKIpAI89STAAK2NxClhDBxI5bfOQyh2fySlMaPaFGRm bB4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=drX9+vl44zYzpBoXJCuJVBuSeyp+bHZXGq/s8MCBeRs=; b=z2Tl/h+VIFDEI2cfFNac89mUVc1XLu6ffmsyaCNpG+kFCBsLUVcLRuS43Lp+uckItS oekqMZicrQNAbHnRqlxCcsMWnFrbvhWMKhT/0kWQc8eFf2om/jg7fG1v0AV0zZYZYIcp 40UMRGYjJyJmVwBgQca5cBsUcp/Mmue3Gwe1YX7PqYb2Gazq8RQzvgbEMu8lbGx2BeVT KNy57pN/h6easJFqnAExpWG5T/irPtHx7ryzdeC64DGXMyvwyyIIEvTh+cV66kNPBGph wRtP5OuIIHUXYCXhDffB0Oz0cWIqWDkMRDEAXVc61J5vC80ntXomUi7lIx9TN1QY1C8t STCg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="CRq/YTid"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id mp3-20020a1709071b0300b007417c6edb0asi10739260ejc.402.2022.11.07.12.50.08; Mon, 07 Nov 2022 12:50:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="CRq/YTid"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S232060AbiKGUgp (ORCPT + 99 others); Mon, 7 Nov 2022 15:36:45 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34066 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232411AbiKGUgo (ORCPT ); Mon, 7 Nov 2022 15:36:44 -0500 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 00C9C286C6 for ; Mon, 7 Nov 2022 12:35:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1667853348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=drX9+vl44zYzpBoXJCuJVBuSeyp+bHZXGq/s8MCBeRs=; b=CRq/YTidVMc2Pzp5vSE1TCpnxXFSIZZ2B2vOjG/UfoLdSCRA4sf8Jr/rdHDQkVthUoU8cT HF7pZA1X+75ZvVgTtA4hdslQL+Z/ClRJZRldXhEmHBDTubk9oMIyB4ZHbV4mzVpEAc79/z 3iXPXgpKfoONqfJ7GRWb0So3ZsdKc/U= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-149-rRg4vbBDOryX_Fp3et26Yg-1; Mon, 07 Nov 2022 15:35:43 -0500 X-MC-Unique: rRg4vbBDOryX_Fp3et26Yg-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 9C26D806004; Mon, 7 Nov 2022 20:35:37 +0000 (UTC) Received: from laptop.redhat.com (unknown [10.39.192.106]) by smtp.corp.redhat.com (Postfix) with ESMTP id D8B9AC159CD; Mon, 7 Nov 2022 20:35:25 +0000 (UTC) From: Eric Auger To: eric.auger.pro@gmail.com, eric.auger@redhat.com, mst@redhat.com, jasowang@redhat.com, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Cc: peterx@redhat.com Subject: [RFC] vhost: Clear the pending messages on vhost_init_device_iotlb() Date: Mon, 7 Nov 2022 21:34:31 +0100 Message-Id: <20221107203431.368306-1-eric.auger@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748871919710895022?= X-GMAIL-MSGID: =?utf-8?q?1748871919710895022?= When the vhost iotlb is used along with a guest virtual iommu and the guest gets rebooted, some MISS messages may have been recorded just before the reboot and spuriously executed by the virtual iommu after the reboot. Despite the device iotlb gets re-initialized, the messages are not cleared. Fix that by calling vhost_clear_msg() at the end of vhost_init_device_iotlb(). Signed-off-by: Eric Auger --- drivers/vhost/vhost.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 40097826cff0..422a1fdee0ca 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -1751,6 +1751,7 @@ int vhost_init_device_iotlb(struct vhost_dev *d, bool enabled) } vhost_iotlb_free(oiotlb); + vhost_clear_msg(d); return 0; }