From nobody Mon Feb 9 19:07:26 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=suse.de ARC-Seal: i=1; a=rsa-sha256; t=1724434945; cv=none; d=zohomail.com; s=zohoarc; b=bLAg+DVZgZ2UdDW9Utb/CtqUOyaUfsGm2qShRYwTRJT9bzEnrNETc7927leMQRqJC0pVMIMebwwHr4h86xYqqaWJoywLSySaO1A51wrXeJhNz0JENBgkw/G/d7WBrvr4GefO9r1vB15p09KLDOZe7jLkJF+R2PU7HeNGhwxGhdE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1724434945; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=z+tFdzfZOAzXZYeedkli/LNmddQj1yZ8YqYyU3/I8Q0=; b=kd1W7+yf6CErFTS5g9z5/fvqPXu0UoL2vHX1QF4YJQAy4rciX49eETISzD1T8baGWPoJ7iZfkiBb3mA8VF6thPCTI6SO7p/jEX3++AOev3tX//sDgUw3JmZlAeRjTMl0MsguHSt4qrgWhbIDGs5RIVKtp56pl8JBKrThuAGjyNs= 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 1724434945333279.4511908660626; Fri, 23 Aug 2024 10:42:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1shYGO-0000oO-1P; Fri, 23 Aug 2024 13:39:52 -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 1shYGF-0000GJ-2x for qemu-devel@nongnu.org; Fri, 23 Aug 2024 13:39:43 -0400 Received: from smtp-out1.suse.de ([195.135.223.130]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1shYGD-00005L-ED for qemu-devel@nongnu.org; Fri, 23 Aug 2024 13:39:42 -0400 Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 9943E226EE; Fri, 23 Aug 2024 17:39:39 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 707191333E; Fri, 23 Aug 2024 17:39:38 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id 2NXBDVrJyGb2LwAAD6G6ig (envelope-from ); Fri, 23 Aug 2024 17:39:38 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1724434779; h=from:from:reply-to: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=z+tFdzfZOAzXZYeedkli/LNmddQj1yZ8YqYyU3/I8Q0=; b=0WY+8PAf0luwb/BzGxtpc+kmfdJqQjeSSjS83wi9lxIf+ZArZS3ojDVFZpxH/cz66EdBHs k7WMAOh4+j7t3F7G6wkyKTfowzSB/EB1R73nH48wnxXo+oZy2sL2PxfKEfUsfpZwJoqFJY GGCGMqG3z0pZauSVUcvH3ZYvrcTGWnU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1724434779; h=from:from:reply-to: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=z+tFdzfZOAzXZYeedkli/LNmddQj1yZ8YqYyU3/I8Q0=; b=S2hQ+T9MiOQ1YUQ2GFOdisjLn3BG+JJKKCBo4JfXiZ8NV5UfgWfblVImZuALX/X3r6QpBi FW5f60H0zRxuM3Bg== Authentication-Results: smtp-out1.suse.de; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=0WY+8PAf; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=S2hQ+T9M DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1724434779; h=from:from:reply-to: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=z+tFdzfZOAzXZYeedkli/LNmddQj1yZ8YqYyU3/I8Q0=; b=0WY+8PAf0luwb/BzGxtpc+kmfdJqQjeSSjS83wi9lxIf+ZArZS3ojDVFZpxH/cz66EdBHs k7WMAOh4+j7t3F7G6wkyKTfowzSB/EB1R73nH48wnxXo+oZy2sL2PxfKEfUsfpZwJoqFJY GGCGMqG3z0pZauSVUcvH3ZYvrcTGWnU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1724434779; h=from:from:reply-to: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=z+tFdzfZOAzXZYeedkli/LNmddQj1yZ8YqYyU3/I8Q0=; b=S2hQ+T9MiOQ1YUQ2GFOdisjLn3BG+JJKKCBo4JfXiZ8NV5UfgWfblVImZuALX/X3r6QpBi FW5f60H0zRxuM3Bg== From: Fabiano Rosas To: qemu-devel@nongnu.org Cc: Peter Xu , "Maciej S . Szmigiero" Subject: [PATCH v4 15/16] migration/multifd: Register nocomp ops dynamically Date: Fri, 23 Aug 2024 14:39:10 -0300 Message-Id: <20240823173911.6712-16-farosas@suse.de> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20240823173911.6712-1-farosas@suse.de> References: <20240823173911.6712-1-farosas@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 9943E226EE X-Spamd-Result: default: False [-3.01 / 50.00]; BAYES_HAM(-3.00)[99.99%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FUZZY_BLOCKED(0.00)[rspamd.com]; ARC_NA(0.00)[]; DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from,2a07:de40:b281:106:10:150:64:167:received]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; RCVD_TLS_ALL(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email,suse.de:dkim,suse.de:mid]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DKIM_TRACE(0.00)[suse.de:+] X-Rspamd-Server: rspamd2.dmz-prg2.suse.org X-Rspamd-Action: no action X-Spam-Score: -3.01 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=195.135.223.130; envelope-from=farosas@suse.de; helo=smtp-out1.suse.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=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 @suse.de) X-ZM-MESSAGEID: 1724434945802116600 Content-Type: text/plain; charset="utf-8" Prior to moving the ram code into multifd-nocomp.c, change the code to register the nocomp ops dynamically so we don't need to have the ops structure defined in multifd.c. While here, move the ops struct initialization to the end of the file to make the next diff cleaner. Signed-off-by: Fabiano Rosas Reviewed-by: Peter Xu Reviewed-by: Prasad Pandit --- migration/multifd.c | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/migration/multifd.c b/migration/multifd.c index 9f40bb2f16..e100836cbe 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -287,22 +287,12 @@ static int multifd_nocomp_recv(MultiFDRecvParams *p, = Error **errp) return qio_channel_readv_all(p->c, p->iov, p->normal_num, errp); } =20 -static MultiFDMethods multifd_nocomp_ops =3D { - .send_setup =3D multifd_nocomp_send_setup, - .send_cleanup =3D multifd_nocomp_send_cleanup, - .send_prepare =3D multifd_nocomp_send_prepare, - .recv_setup =3D multifd_nocomp_recv_setup, - .recv_cleanup =3D multifd_nocomp_recv_cleanup, - .recv =3D multifd_nocomp_recv -}; - -static MultiFDMethods *multifd_ops[MULTIFD_COMPRESSION__MAX] =3D { - [MULTIFD_COMPRESSION_NONE] =3D &multifd_nocomp_ops, -}; +static MultiFDMethods *multifd_ops[MULTIFD_COMPRESSION__MAX] =3D {}; =20 void multifd_register_ops(int method, MultiFDMethods *ops) { - assert(0 < method && method < MULTIFD_COMPRESSION__MAX); + assert(0 <=3D method && method < MULTIFD_COMPRESSION__MAX); + assert(!multifd_ops[method]); multifd_ops[method] =3D ops; } =20 @@ -1701,3 +1691,19 @@ bool multifd_send_prepare_common(MultiFDSendParams *= p) =20 return true; } + +static MultiFDMethods multifd_nocomp_ops =3D { + .send_setup =3D multifd_nocomp_send_setup, + .send_cleanup =3D multifd_nocomp_send_cleanup, + .send_prepare =3D multifd_nocomp_send_prepare, + .recv_setup =3D multifd_nocomp_recv_setup, + .recv_cleanup =3D multifd_nocomp_recv_cleanup, + .recv =3D multifd_nocomp_recv +}; + +static void multifd_nocomp_register(void) +{ + multifd_register_ops(MULTIFD_COMPRESSION_NONE, &multifd_nocomp_ops); +} + +migration_init(multifd_nocomp_register); --=20 2.35.3