From nobody Tue Feb 10 03:37:31 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=1683572034; cv=none; d=zohomail.com; s=zohoarc; b=EfV5mnlTPOGLWS2GoEyzI0kwIBEvukJT6cJ9QPU3h3NgQ0v7gNvxmLrD8hevPv1of4elxUp+hW/02xvZiwRlJ4EyvMgXGX7+L0GHuc544MIZN2FheecJSoolq+7jKv7vUza5b1qSUwiZY4vJ6Kh1tFI1srMc3vRLM19koVsm4ps= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683572034; 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=lANJAnuQcfwj3tIvtmJW8wGJt/YsnwLqI/q4w1snX5o=; b=JM+DI6ZyuRLUdB+8bUkrnLUAhCm+Q1t6QEF6T3L9ySI3F1cGHl+QRze0DEwzb5TNTbaFNgP2NrXeJR+T0ZGqyp5gdMcLJTxJ6JBsXGQ/nOR3qwaubjb3FtRBRSPZmeHaurnqAxGw4LYTjQl2JIhMQvAWRlnV6i1Y/Cs9yH7KhsE= 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 1683572034738536.3613977486766; Mon, 8 May 2023 11:53:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pw5yE-0004BI-SL; Mon, 08 May 2023 14:52:26 -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 1pw5yC-0004Aj-GS for qemu-devel@nongnu.org; Mon, 08 May 2023 14:52:24 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pw5yB-0005zI-1s for qemu-devel@nongnu.org; Mon, 08 May 2023 14:52:24 -0400 Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-12-UyFlqnANNCC5PJEv4_uPsA-1; Mon, 08 May 2023 14:52:18 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 2EDE23C16E84; Mon, 8 May 2023 18:52:18 +0000 (UTC) Received: from secure.mitica (unknown [10.39.193.236]) by smtp.corp.redhat.com (Postfix) with ESMTP id D80C61402C06; Mon, 8 May 2023 18:52:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1683571942; 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=lANJAnuQcfwj3tIvtmJW8wGJt/YsnwLqI/q4w1snX5o=; b=WsOrUUAc+F0rEDv38IkluaCCm5qrlC391Qec7V4qvZNbfmH8/y/aB76UbwDX9bJgA4u68w Rw97gqdMsM8X0gICQCBjRrToglWfeUK5zZCgGjsCBVVwSz9ctBJKv+2g/BSd+BpoUnCa7A RG+kr5zcVyQa3b25/HXq5w0mQEtiB3o= X-MC-Unique: UyFlqnANNCC5PJEv4_uPsA-1 From: Juan Quintela To: qemu-devel@nongnu.org Cc: Thomas Huth , Peter Xu , Leonardo Bras , Juan Quintela , Laurent Vivier , Paolo Bonzini , Lukas Straub Subject: [PULL 04/13] ram.c: Dont change param->block in the compress thread Date: Mon, 8 May 2023 20:52:00 +0200 Message-Id: <20230508185209.68604-5-quintela@redhat.com> In-Reply-To: <20230508185209.68604-1-quintela@redhat.com> References: <20230508185209.68604-1-quintela@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7 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.133.124; envelope-from=quintela@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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: 1683572036147100001 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 7bc05fc034..b552a9e538 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