From nobody Sun May 5 11:00:28 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1605577412; cv=none; d=zohomail.com; s=zohoarc; b=hwVpNvm9hzqgYt5NdO3+ymWUBKEZfUOZJHp/5e7pAjpz7HxeKhw5v8h3s9TGbRmGcZGhzdvEExZTLCaMePm/NvhLM4P4qTLU+F/htbJsBP6CRoZ2njAXKGGj+AfSIBNclVDT//dAKkmff+vONdT+r9+hlwv25GyCqSLkjvi8XpY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605577412; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=yl1sI42v9pZAQbTEbzxo15UapNNS96cI5uP5/DCIXhU=; b=kxd10DX6E61ycetzq/sU8G7RJKtyPByFx3kO5tRup6Ru05Yf6Mg9KrxFb2aSamvDTryZsH2ddZ44vUGY+A1LnFY8GQbYD8kZzcYZDH8qEoAJh6LkNDy1/u4K7yXvqAl+HggkjFnUZfSYEsKjUj9CTIfPgOFZH+wVoJaiWP45wCA= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1605577412110676.663485820739; Mon, 16 Nov 2020 17:43:32 -0800 (PST) Received: from localhost ([::1]:58240 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1keq1q-0003WI-7I for importer@patchew.org; Mon, 16 Nov 2020 20:43:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49140) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1keq0C-0002tS-8x; Mon, 16 Nov 2020 20:41:48 -0500 Received: from szxga05-in.huawei.com ([45.249.212.191]:2457) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1keq08-0004JK-8Y; Mon, 16 Nov 2020 20:41:47 -0500 Received: from DGGEMS407-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga05-in.huawei.com (SkyGuard) with ESMTP id 4CZpYs0MZSzLnQ6; Tue, 17 Nov 2020 09:41:05 +0800 (CST) Received: from DESKTOP-7FEPK9S.china.huawei.com (10.174.187.179) by DGGEMS407-HUB.china.huawei.com (10.3.19.207) with Microsoft SMTP Server id 14.3.487.0; Tue, 17 Nov 2020 09:41:14 +0800 From: Shenming Lu To: Alex Williamson , Kirti Wankhede , Cornelia Huck Subject: [PATCH RFC] vfio: Set the priority of VFIO VM state change handler explicitly Date: Tue, 17 Nov 2020 09:40:50 +0800 Message-ID: <20201117014050.1385-1-lushenming@huawei.com> X-Mailer: git-send-email 2.27.0.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.174.187.179] X-CFilter-Loop: Reflected Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=45.249.212.191; envelope-from=lushenming@huawei.com; helo=szxga05-in.huawei.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/16 20:13:14 X-ACL-Warn: Detected OS = Linux 3.1-3.10 [fuzzy] X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Neo Jia , Marc Zyngier , qemu-devel@nongnu.org, lushenming@huawei.com, qemu-arm@nongnu.org, yuzenghui@huawei.com, wanghaibin.wang@huawei.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" In VFIO VM state change handler, VFIO devices are transitioned in _SAVING state, which should keep them from sending interrupts. Then we can save the pending states of all interrupts in GIC VM state change handler (on ARM). So we have to set the priority of VFIO VM state change handler explicitly (like virtio devices) to ensure it is called before GIC's in saving. Signed-off-by: Shenming Lu Reviewed-by: Kirti Wankhede --- hw/vfio/migration.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c index 55261562d4..d0d30864ba 100644 --- a/hw/vfio/migration.c +++ b/hw/vfio/migration.c @@ -857,7 +857,8 @@ static int vfio_migration_init(VFIODevice *vbasedev, register_savevm_live(id, VMSTATE_INSTANCE_ID_ANY, 1, &savevm_vfio_hand= lers, vbasedev); =20 - migration->vm_state =3D qemu_add_vm_change_state_handler(vfio_vmstate_= change, + migration->vm_state =3D qdev_add_vm_change_state_handler(vbasedev->dev, + vfio_vmstate_ch= ange, vbasedev); migration->migration_state.notify =3D vfio_migration_state_notifier; add_migration_state_change_notifier(&migration->migration_state); --=20 2.19.1