From nobody Wed Feb 11 10:38:30 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=1682709179; cv=none; d=zohomail.com; s=zohoarc; b=NtJWDAIowEmKTe+pB2wa4KP4ieunW90grDZkWZGUmPDmJyRyoqcFXMlxHgBjCESGzmqBpbAJqysPZZeRhRI/Q0+0qmgwAmWHoO0RrsmyhdXyPPxj35O/qXmTlR1NDRQl8ad+IR4e5lWR64mPdOdqq0xxbxhYKrmKcfSuGLbQ+Ug= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682709179; 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=SrtWU4eYpPxCG2l34+hRkJBdbAa/0xR54AuRtWlizBw=; b=YrnGxKbH5bWU6QebEygPhP0+NGkUjHmAV8TRO4v/K3H4SlZE0I7NHjQso6LP8JCMogtZmL43YMI8kMuGVO4ZDo0/bX7PBlQk1UtjsqifITk9j0XHrWmX+wS/wpGTjXZpFMk5DRVmw5bsJpboZhX88bwDya3PUzniPLT69ggBVWY= 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 1682709179415564.8239279437661; Fri, 28 Apr 2023 12:12:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1psTWI-0004sZ-Hm; Fri, 28 Apr 2023 15:12:38 -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 1psTWG-0004qD-Bx for qemu-devel@nongnu.org; Fri, 28 Apr 2023 15:12:36 -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 1psTWC-0002zb-QO for qemu-devel@nongnu.org; Fri, 28 Apr 2023 15:12:36 -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-637-yzozoQQMPcmSenasyxcFnQ-1; Fri, 28 Apr 2023 15:12:26 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 75D8F858F0E; Fri, 28 Apr 2023 19:12:26 +0000 (UTC) Received: from secure.mitica (unknown [10.39.193.238]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2643D2166B4F; Fri, 28 Apr 2023 19:12:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1682709150; 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=SrtWU4eYpPxCG2l34+hRkJBdbAa/0xR54AuRtWlizBw=; b=a8qJaJPdWXcqSqz96JXseheFFH1A3hbiO944bZNHgkDtRdl1X2ago4ABDpyyAUEVF+P+S7 mgETi4nGUXvzB7nR3UxjTry+Q6yaBB90XY4w13zhN+E/yPcMwTGXW5x0/FL47mcmcOHt/O do9bAb+1B2AfAh1DJvpAtD2iHG9JTAI= X-MC-Unique: yzozoQQMPcmSenasyxcFnQ-1 From: Juan Quintela To: qemu-devel@nongnu.org Cc: Leonardo Bras , Juan Quintela , Thomas Huth , Laurent Vivier , Paolo Bonzini , Peter Xu , Lukas Straub Subject: [PULL 12/21] ram.c: Dont change param->block in the compress thread Date: Fri, 28 Apr 2023 21:11:54 +0200 Message-Id: <20230428191203.39520-13-quintela@redhat.com> In-Reply-To: <20230428191203.39520-1-quintela@redhat.com> References: <20230428191203.39520-1-quintela@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 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.171, 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: 1682709180005100005 Content-Type: text/plain; charset="utf-8" From: Lukas Straub Instead introduce a extra parameter to trigger the compress thread. Now, when the compress thread is done, we know what RAMBlock and offset it did compress. This will be used in the next commits to move save_page_header() out of compress code. Signed-off-by: Lukas Straub Reviewed-by: Juan Quintela Signed-off-by: Juan Quintela --- migration/ram.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/migration/ram.c b/migration/ram.c index 2b213b923b..ebcde3dcd4 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -492,6 +492,7 @@ typedef enum CompressResult CompressResult; struct CompressParam { bool done; bool quit; + bool trigger; CompressResult result; QEMUFile *file; QemuMutex mutex; @@ -565,10 +566,10 @@ static void *do_data_compress(void *opaque) =20 qemu_mutex_lock(¶m->mutex); while (!param->quit) { - if (param->block) { + if (param->trigger) { block =3D param->block; offset =3D param->offset; - param->block =3D NULL; + param->trigger =3D false; qemu_mutex_unlock(¶m->mutex); =20 result =3D do_compress_ram_page(param->file, ¶m->stream, @@ -1545,6 +1546,7 @@ static inline void set_compress_params(CompressParam = *param, RAMBlock *block, { param->block =3D block; param->offset =3D offset; + param->trigger =3D true; } =20 static int compress_page_with_multi_thread(RAMBlock *block, ram_addr_t off= set) --=20 2.40.0