From nobody Wed Feb 11 05:35:40 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1683200796; cv=none; d=zohomail.com; s=zohoarc; b=TX+dalbjie5u2RkbF17r0URvI3n8Ps57Bi+6MJuDb/B4rGBQK+yqhWfFb7zjCgJaG7apUqNZk9cLY3nUjOOZGgQ4t5/gDbvVWZnXmLi2uW32KfTjjyjtnyyIjW5dO+g/GnbBA8A1zPrRst8wqayWKeLh6jlE818JNnhV5X3Mc/s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683200796; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=S8IQDMRfVSmvUTSKd8FFQA9JpW3rPFH3vhoL2IfUwcM=; b=hit4+vt5XK8FF5oP/Q4+vHUQnbMDy17jcAa9FamyMy6z1FEKQHBc5ApGB4xV1hGfRXIM0MNBbpfQl+tdz0mrx99nfjpkb23MAafIPiu5uI8CtZuQQQxQZgtnRXzyBkOqlL/K31HjvoIw3sQK2VIPltPkffa4e85MueqQEoc9MEY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1683200796265350.3099251949012; Thu, 4 May 2023 04:46:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puXOX-0004k3-Oz; Thu, 04 May 2023 07:45:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puXOK-0004hY-En for qemu-devel@nongnu.org; Thu, 04 May 2023 07:44:57 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puXOH-0004m2-Q3 for qemu-devel@nongnu.org; Thu, 04 May 2023 07:44:56 -0400 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-373-zKfxL9oJMx-E0dx_yKwX-w-1; Thu, 04 May 2023 07:44:50 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 78A2A811E7D for ; Thu, 4 May 2023 11:44:50 +0000 (UTC) Received: from secure.mitica (unknown [10.39.193.236]) by smtp.corp.redhat.com (Postfix) with ESMTP id 694062026D16; Thu, 4 May 2023 11:44:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1683200692; 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: in-reply-to:in-reply-to:references:references; bh=S8IQDMRfVSmvUTSKd8FFQA9JpW3rPFH3vhoL2IfUwcM=; b=Ou3suk9ILiFHGLOVgBK9kFQQBNYf04xzxkbDUTPxRa7jADdWSJzpVkHxdMDz4F7VIUXV55 q8V+X4obyckqkggf//6KatYTemZf33xMA4EujDGrB6Iwd+YbrkvyZ0clZycWNVeS4aMGB9 9yVSxt4gEbTmmXbfXuqCt9VKNg9k1wU= X-MC-Unique: zKfxL9oJMx-E0dx_yKwX-w-1 From: Juan Quintela To: qemu-devel@nongnu.org Cc: Juan Quintela , Leonardo Bras , Peter Xu Subject: [PATCH 5/5] migration/rdma: Check for postcopy sooner Date: Thu, 4 May 2023 13:44:43 +0200 Message-Id: <20230504114443.23891-6-quintela@redhat.com> In-Reply-To: <20230504114443.23891-1-quintela@redhat.com> References: <20230504114443.23891-1-quintela@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 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=170.10.129.124; envelope-from=quintela@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -22 X-Spam_score: -2.3 X-Spam_bar: -- X-Spam_report: (-2.3 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.161, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1683200796799100005 Content-Type: text/plain; charset="utf-8" It makes no sense first try to see if there is an rdma error and then do nothing on postcopy stage. Change it so we check we are in postcopy before doing anything. Signed-off-by: Juan Quintela Reviewed-by: Daniel P. Berrang=C3=A9 --- migration/rdma.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/migration/rdma.c b/migration/rdma.c index 17c4b9206f..2cd8f1cc66 100644 --- a/migration/rdma.c +++ b/migration/rdma.c @@ -3234,19 +3234,19 @@ static size_t qemu_rdma_save_page(QEMUFile *f, RDMAContext *rdma; int ret; =20 - RCU_READ_LOCK_GUARD(); - rdma =3D qatomic_rcu_read(&rioc->rdmaout); - - if (!rdma) { - return -EIO; - } - - CHECK_ERROR_STATE(); - if (migration_in_postcopy()) { return RAM_SAVE_CONTROL_NOT_SUPP; } =20 + RCU_READ_LOCK_GUARD(); + rdma =3D qatomic_rcu_read(&rioc->rdmaout); + + if (!rdma) { + return -EIO; + } + + CHECK_ERROR_STATE(); + qemu_fflush(f); =20 /* @@ -3866,6 +3866,10 @@ static int qemu_rdma_registration_start(QEMUFile *f, QIOChannelRDMA *rioc =3D QIO_CHANNEL_RDMA(qemu_file_get_ioc(f)); RDMAContext *rdma; =20 + if (migration_in_postcopy()) { + return 0; + } + RCU_READ_LOCK_GUARD(); rdma =3D qatomic_rcu_read(&rioc->rdmaout); if (!rdma) { @@ -3874,10 +3878,6 @@ static int qemu_rdma_registration_start(QEMUFile *f, =20 CHECK_ERROR_STATE(); =20 - if (migration_in_postcopy()) { - return 0; - } - trace_qemu_rdma_registration_start(flags); qemu_put_be64(f, RAM_SAVE_FLAG_HOOK); qemu_fflush(f); @@ -3897,6 +3897,10 @@ static int qemu_rdma_registration_stop(QEMUFile *f, RDMAControlHeader head =3D { .len =3D 0, .repeat =3D 1 }; int ret =3D 0; =20 + if (migration_in_postcopy()) { + return 0; + } + RCU_READ_LOCK_GUARD(); rdma =3D qatomic_rcu_read(&rioc->rdmaout); if (!rdma) { @@ -3905,10 +3909,6 @@ static int qemu_rdma_registration_stop(QEMUFile *f, =20 CHECK_ERROR_STATE(); =20 - if (migration_in_postcopy()) { - return 0; - } - qemu_fflush(f); ret =3D qemu_rdma_drain_cq(f, rdma); =20 --=20 2.40.0