[{"id":3669298,"web_url":"http://patchwork.ozlabs.org/comment/3669298/","msgid":"<acQ61yMtzZPfLUAj@x1.local>","list_archive_url":null,"date":"2026-03-25T19:43:19","subject":"Re: [RFC PATCH v1 00/17] migration: vmstate_save|load changes for\n peterx","submitter":{"id":67717,"url":"http://patchwork.ozlabs.org/api/people/67717/","name":"Peter Xu","email":"peterx@redhat.com"},"content":"On Tue, Mar 24, 2026 at 04:43:15PM -0300, Fabiano Rosas wrote:\n> Too much stuff to mention inline on the series, here's some patches on\n> top. Let me know what you think! Feel free to drop it all or\n> incorporate or whatever.\n> \n> Based-on: [PATCH RFC 00/10] vmstate: Implement VMS_ARRAY_OF_POINTER_AUTO_ALLOC\n> 20260317232332.15209-1-peterx@redhat.com\n> https://lore.kernel.org/r/20260317232332.15209-1-peterx@redhat.com\n> \n> which is in turn based on https://gitlab.com/farosas/qemu/-/commits/migration-staging\n> \n> I pushed it all to https://gitlab.com/farosas/qemu/-/commits/migration-rfc-auto-alloc\n> \n> CI run: https://gitlab.com/farosas/qemu/-/pipelines/2406278684\n> \n> Fabiano Rosas (17):\n>   vmstate: fixup the use of AUTO_ALLOC flag\n>   vmstate: Remove vmstate_use_marker_field\n>   vmstate: Stop checking size for nullptr compression\n>   vmstate: Set error inside of vmstate_save_field_with_vmdesc\n>   vmstate: Remove vmdesc_loop\n>   vmstate: Put array of pointers code together\n>   vmstate: Create and save ptr marker in same function\n>   vmstate: Don't recompute size and n_elems in vmstate_size\n>   vmstate: Increase scope of vmstate_handle_alloc\n>   vmstate: Remove curr_elem_p\n>   vmstate: Introduce vmstate_first\n>   vmstate: Introduce vmstate_next\n>   vmstate: Drop VMS_ARRAY_OF_POINTER_AUTO_ALLOC\n>   vmstate: Move VMS_MUST_EXIST check\n>   vmstate: Invert exists check\n>   vmstate: Declare variables at the top\n>   vmstate: Reduce indentation levels\n\nConsidering that this prior series may block the nvme series, I'll be\nslightly conservative on what to collect, but I'll collect as much as I can\nthat makes me still feel confident when I repost; we'll see.\n\nThanks for this work, Fabiano.","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=hx0r6LCX;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=google header.b=UQL37d2V;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fgy5T2Qb1z1y1x\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 26 Mar 2026 06:43:57 +1100 (AEDT)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1w5U8Z-0002hV-SS; Wed, 25 Mar 2026 15:43:31 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <peterx@redhat.com>) id 1w5U8Y-0002hM-Hb\n for qemu-devel@nongnu.org; Wed, 25 Mar 2026 15:43:30 -0400","from us-smtp-delivery-124.mimecast.com ([170.10.133.124])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <peterx@redhat.com>) id 1w5U8W-0005ye-W5\n for qemu-devel@nongnu.org; Wed, 25 Mar 2026 15:43:30 -0400","from mail-ej1-f71.google.com (mail-ej1-f71.google.com\n [209.85.218.71]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-108-0IFtZx0nO-6_PS4Eqj5-xA-1; Wed, 25 Mar 2026 15:43:24 -0400","by mail-ej1-f71.google.com with SMTP id\n a640c23a62f3a-b8f848ebcbbso26492866b.0\n for <qemu-devel@nongnu.org>; Wed, 25 Mar 2026 12:43:24 -0700 (PDT)","from x1.local ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id\n a640c23a62f3a-b9b203eec9fsm19412766b.42.2026.03.25.12.43.20\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 25 Mar 2026 12:43:21 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1774467806;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n in-reply-to:in-reply-to:references:references;\n bh=i43pi4duOZUxYwISmLRyprDGfJqRrw4E75gRkH3565s=;\n b=hx0r6LCXl1p4L/pZhKZ+MWgSTf99Xgwvf/IAzsM0/Cv5JFXMXjEXJQAqD1gBWvL0NwYiIy\n fpV9F5EZ2WagnNfpuf4CV7/GzHJIGRV7sJOnaVjLx14BWH5Up8ZVzIYAFPz6vl8DMawvJQ\n AYu7988zRyKSAH4sDykHy4n4eaK07Q0=","v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=redhat.com; s=google; t=1774467803; x=1775072603; darn=nongnu.org;\n h=in-reply-to:content-disposition:mime-version:references:message-id\n :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;\n bh=i43pi4duOZUxYwISmLRyprDGfJqRrw4E75gRkH3565s=;\n b=UQL37d2V6SYgxzjM/stqyEhRkHiwdn8GGA0yfB34oHi0Ow3aJ2+FIHZBy9pWb0oO1y\n aMUX54769FFkD5srSScD4m8lVwKJCJgO84sLuWRnDawGkOX1OgvgxKYlDtuYsbUB1WFY\n XZybK23WdWxYkRvpjIARF3e2uH6hegKPOqvota0lRSmPa+PUHH9+H8+zw0fsLxX5hFM/\n BwksG6PtUlmRGMt38IODCRMBHcWYCObPwM1Z/MAW2sr3lLiDGAHTxdjv55C82R4a3/Af\n f3noXCmHw+C7oZnBWvEmfjSnycQQMAB08aJ/M6hYEOk7Ne9PCyM3LiEGSgAjRnZfe5xH\n jZlw=="],"X-MC-Unique":"0IFtZx0nO-6_PS4Eqj5-xA-1","X-Mimecast-MFC-AGG-ID":"0IFtZx0nO-6_PS4Eqj5-xA_1774467804","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1774467803; x=1775072603;\n h=in-reply-to:content-disposition:mime-version:references:message-id\n :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=i43pi4duOZUxYwISmLRyprDGfJqRrw4E75gRkH3565s=;\n b=In/s6wBqEhdTy7RklEOz6q0728LqcPxIWn3mNPAnbhOjN+O8sWeXyk56CHb1U/AdrG\n ODnhxlkCN1NBglgadTgxDwoRH6IOje9rtkpJXtoBlxLRIPivBe7mLRooNNyPKr7Te39t\n KwJrLQpbg+PVaggFmX4WlWX0jh0PAHAWyI/KbHH2FiicspK2u6luHT+W0tmUkkEs45BO\n JVktL1iDse6sHNUAlEggj6CofmoHGHEVybr/fyS+Pj3l9hvjDYj8Cs0A+2oCzX+lPrug\n +tzRujiejzjtbvh8wiayiuMTDHh8WdRCGN8uyeO2OOFlm60PIjE8wmd9UVUBKgjD1Fk0\n hC2Q==","X-Gm-Message-State":"AOJu0Yyw01EznT4dkMLoW36N2fdsg75aaKsnOjoaeGBrpiKm/zbt9M03\n BY5laWUwihaipmUIPtobInlN0LWgUiErcn1z8XBOjl2o6cV+E8z9q62JhOVzvsHbgS9/5xOqq1I\n l/2UgMn2ktEuKWHVtJ0jBzdFpCoj7Qj7NRiI4G7eqoEG9WTrZnLKZUza6","X-Gm-Gg":"ATEYQzyRt8ImwRbhlw4CCvaYAR3qbNX+gEkmOLK7Sprp0cCTKkNbYTHm57fFfLuCmlh\n P4lt71AmYx99dQuy80++0JLPgA0GoAm8vFrHDtGVY32PNpV+l4M8uX/0d3DhC1tV3BzlLCm8KHr\n AcNAKaaNfKSbYRuecGbhQ5athsGlWar7iIrBh1FkfJ9kcn7m/nJ0JSpc3x9qQnuW3RCX1fcX8xg\n buYpyca04SlfKG8Q6+iKX6kWk4RZcA/GcgqMwe9XD0qNMj29geN5u5mv8rMBxm/ae0t/IT+xRiy\n L+KBHRcFMSNqwrIkiN+vm7xFdumgNgYEQvaeZvTtuY5i737S8bhQsyW9ucZXiQtiRDZIXqpjQ6l\n AvAA7+8drImPExg==","X-Received":["by 2002:a17:907:890b:b0:b9b:1ed0:b403 with SMTP id\n a640c23a62f3a-b9b1ed0bbf3mr92042666b.35.1774467802751;\n Wed, 25 Mar 2026 12:43:22 -0700 (PDT)","by 2002:a17:907:890b:b0:b9b:1ed0:b403 with SMTP id\n a640c23a62f3a-b9b1ed0bbf3mr92040166b.35.1774467802207;\n Wed, 25 Mar 2026 12:43:22 -0700 (PDT)"],"Date":"Wed, 25 Mar 2026 15:43:19 -0400","From":"Peter Xu <peterx@redhat.com>","To":"Fabiano Rosas <farosas@suse.de>","Cc":"qemu-devel@nongnu.org, Alexander Mikhalitsyn <alexander@mihalicyn.com>,\n Juraj Marcin <jmarcin@redhat.com>","Subject":"Re: [RFC PATCH v1 00/17] migration: vmstate_save|load changes for\n peterx","Message-ID":"<acQ61yMtzZPfLUAj@x1.local>","References":"<20260324194333.30004-1-farosas@suse.de>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20260324194333.30004-1-farosas@suse.de>","Received-SPF":"pass client-ip=170.10.133.124; envelope-from=peterx@redhat.com;\n 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,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001,\n RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,\n SPF_HELO_PASS=-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.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}},{"id":3669306,"web_url":"http://patchwork.ozlabs.org/comment/3669306/","msgid":"<87mrzvk6us.fsf@suse.de>","list_archive_url":null,"date":"2026-03-25T20:10:51","subject":"Re: [RFC PATCH v1 00/17] migration: vmstate_save|load changes for\n peterx","submitter":{"id":85343,"url":"http://patchwork.ozlabs.org/api/people/85343/","name":"Fabiano Rosas","email":"farosas@suse.de"},"content":"Peter Xu <peterx@redhat.com> writes:\n\n> On Tue, Mar 24, 2026 at 04:43:15PM -0300, Fabiano Rosas wrote:\n>> Too much stuff to mention inline on the series, here's some patches on\n>> top. Let me know what you think! Feel free to drop it all or\n>> incorporate or whatever.\n>> \n>> Based-on: [PATCH RFC 00/10] vmstate: Implement VMS_ARRAY_OF_POINTER_AUTO_ALLOC\n>> 20260317232332.15209-1-peterx@redhat.com\n>> https://lore.kernel.org/r/20260317232332.15209-1-peterx@redhat.com\n>> \n>> which is in turn based on https://gitlab.com/farosas/qemu/-/commits/migration-staging\n>> \n>> I pushed it all to https://gitlab.com/farosas/qemu/-/commits/migration-rfc-auto-alloc\n>> \n>> CI run: https://gitlab.com/farosas/qemu/-/pipelines/2406278684\n>> \n>> Fabiano Rosas (17):\n>>   vmstate: fixup the use of AUTO_ALLOC flag\n>>   vmstate: Remove vmstate_use_marker_field\n>>   vmstate: Stop checking size for nullptr compression\n>>   vmstate: Set error inside of vmstate_save_field_with_vmdesc\n>>   vmstate: Remove vmdesc_loop\n>>   vmstate: Put array of pointers code together\n>>   vmstate: Create and save ptr marker in same function\n>>   vmstate: Don't recompute size and n_elems in vmstate_size\n>>   vmstate: Increase scope of vmstate_handle_alloc\n>>   vmstate: Remove curr_elem_p\n>>   vmstate: Introduce vmstate_first\n>>   vmstate: Introduce vmstate_next\n>>   vmstate: Drop VMS_ARRAY_OF_POINTER_AUTO_ALLOC\n>>   vmstate: Move VMS_MUST_EXIST check\n>>   vmstate: Invert exists check\n>>   vmstate: Declare variables at the top\n>>   vmstate: Reduce indentation levels\n>\n> Considering that this prior series may block the nvme series, I'll be\n> slightly conservative on what to collect, but I'll collect as much as I can\n> that makes me still feel confident when I repost; we'll see.\n>\n\nSure, if there's anything you still find valuable but won't take for the\nrepost let me know and I can send a separate series on top if that's the\ncase.","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256\n header.s=susede2_rsa header.b=r+fiNmGJ;\n\tdkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=at9ly6eU;\n\tdkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de\n header.a=rsa-sha256 header.s=susede2_rsa header.b=kXBxW9w4;\n\tdkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=DmzcARBP;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)","smtp-out2.suse.de;\n\tnone"],"Received":["from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fgyjh0dtWz1y1x\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 26 Mar 2026 07:11:50 +1100 (AEDT)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1w5UZC-0000cO-3G; Wed, 25 Mar 2026 16:11:02 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <farosas@suse.de>) id 1w5UZ9-0000bV-Ij\n for qemu-devel@nongnu.org; Wed, 25 Mar 2026 16:10:59 -0400","from smtp-out2.suse.de ([195.135.223.131])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <farosas@suse.de>) id 1w5UZ6-0008HE-Fl\n for qemu-devel@nongnu.org; Wed, 25 Mar 2026 16:10:59 -0400","from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n (No client certificate requested)\n by smtp-out2.suse.de (Postfix) with ESMTPS id EAE855BD67;\n Wed, 25 Mar 2026 20:10:53 +0000 (UTC)","from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n (No client certificate requested)\n by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 865334A0A2;\n Wed, 25 Mar 2026 20:10:53 +0000 (UTC)","from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])\n by imap1.dmz-prg2.suse.org with ESMTPSA id PxtdFU1BxGn6JgAAD6G6ig\n (envelope-from <farosas@suse.de>); Wed, 25 Mar 2026 20:10:53 +0000"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;\n s=susede2_rsa;\n t=1774469454;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n mime-version:mime-version:content-type:content-type:\n in-reply-to:in-reply-to:references:references;\n bh=Tm1VqbbJmHcjS/G7kmxwNcYxzQxNsOWzN4KuB9eqpkI=;\n b=r+fiNmGJ2TyJ1Wbh/LetnoZMOPaaGrys1jYehL949tzbyAMVLN0iQpbTP5rXDhoEkMDRHc\n TYRszYLz7GkEaxGgDsTIViG9iA4GJS785cOu/0WSfOPqJDaWwIRw6LxSsAkz4HUNGzrG3I\n jJkEXbzVe+VkN0ZOarBtnp9QqRTzPeU=","v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;\n s=susede2_ed25519; t=1774469454;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n mime-version:mime-version:content-type:content-type:\n in-reply-to:in-reply-to:references:references;\n bh=Tm1VqbbJmHcjS/G7kmxwNcYxzQxNsOWzN4KuB9eqpkI=;\n b=at9ly6eUQnCrbiMfkxJFMT0GVV5bEBo/N9g8FFHIItjhdUuSxJ/IPuzEwqrmjPmippd+Ec\n RwkJDhMe/2v6ClBg==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;\n s=susede2_rsa;\n t=1774469453;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n mime-version:mime-version:content-type:content-type:\n in-reply-to:in-reply-to:references:references;\n bh=Tm1VqbbJmHcjS/G7kmxwNcYxzQxNsOWzN4KuB9eqpkI=;\n b=kXBxW9w44cANdStZ2/3T2Gr2u8DY4pkDxOdB/4/9tUILSIakE1gGOUp2P9EhJb9/ZbIyy+\n KDlY2N/vyLFSP0ifEENs34yaw3Sro8wh3EyBbfi0tySYpiWdIuPg9l+DYvQyBCU2HMh3Sy\n Nokn0/0tHM1YN7z4BcjZnFLlJZQ7CZ4=","v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;\n s=susede2_ed25519; t=1774469453;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n mime-version:mime-version:content-type:content-type:\n in-reply-to:in-reply-to:references:references;\n bh=Tm1VqbbJmHcjS/G7kmxwNcYxzQxNsOWzN4KuB9eqpkI=;\n b=DmzcARBPHqJjawkBhCKXPEtBFE5hi7C9810MT2geoZMkBrvGCdvDeI1V9z/F4ShedAMr/R\n rBYJTRD0BI6kBCBg=="],"From":"Fabiano Rosas <farosas@suse.de>","To":"Peter Xu <peterx@redhat.com>","Cc":"qemu-devel@nongnu.org, Alexander Mikhalitsyn <alexander@mihalicyn.com>,\n Juraj Marcin <jmarcin@redhat.com>","Subject":"Re: [RFC PATCH v1 00/17] migration: vmstate_save|load changes for\n peterx","In-Reply-To":"<acQ61yMtzZPfLUAj@x1.local>","References":"<20260324194333.30004-1-farosas@suse.de>\n <acQ61yMtzZPfLUAj@x1.local>","Date":"Wed, 25 Mar 2026 17:10:51 -0300","Message-ID":"<87mrzvk6us.fsf@suse.de>","MIME-Version":"1.0","Content-Type":"text/plain","X-Spamd-Result":"default: False [-4.30 / 50.00]; BAYES_HAM(-3.00)[99.99%];\n NEURAL_HAM_LONG(-1.00)[-1.000];\n NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain];\n ARC_NA(0.00)[]; MISSING_XM_UA(0.00)[]; RCVD_TLS_ALL(0.00)[];\n MIME_TRACE(0.00)[0:+]; RCVD_VIA_SMTP_AUTH(0.00)[];\n TO_DN_SOME(0.00)[]; FUZZY_RATELIMITED(0.00)[rspamd.com];\n MID_RHS_MATCH_FROM(0.00)[];\n DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];\n FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4];\n FROM_EQ_ENVFROM(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[];\n RCVD_COUNT_TWO(0.00)[2];\n DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.de:mid]","X-Spam-Score":"-4.30","Received-SPF":"pass client-ip=195.135.223.131; envelope-from=farosas@suse.de;\n helo=smtp-out2.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,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,\n RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001,\n 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.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}},{"id":3669926,"web_url":"http://patchwork.ozlabs.org/comment/3669926/","msgid":"<acWMO4KZli736zEP@x1.local>","list_archive_url":null,"date":"2026-03-26T19:42:51","subject":"Re: [RFC PATCH v1 00/17] migration: vmstate_save|load changes for\n peterx","submitter":{"id":67717,"url":"http://patchwork.ozlabs.org/api/people/67717/","name":"Peter Xu","email":"peterx@redhat.com"},"content":"On Wed, Mar 25, 2026 at 05:10:51PM -0300, Fabiano Rosas wrote:\n> Sure, if there's anything you still find valuable but won't take for the\n> repost let me know and I can send a separate series on top if that's the\n> case.\n\nI found that there're quite a few cleanups at latter patches, and it caused\nsome rebase pain if the base series still need frequent update.\n\nSo even if they look good in general to me, I want to leave them for later,\nreducing scope of dependency.  After the API conslidated, we can do\ncleanups on top.\n\nLet me mention what I did and plan to post later:\n\n> >>   vmstate: fixup the use of AUTO_ALLOC flag\n> >>   vmstate: Remove vmstate_use_marker_field\n\nI squashed these two.\n\n> >>   vmstate: Stop checking size for nullptr compression\n\nPicked.\n\n> >>   vmstate: Set error inside of vmstate_save_field_with_vmdesc\n\nSquashed.\n\n> >>   vmstate: Remove vmdesc_loop\n\nStarting from this one, I feel a bit uncertain, and maybe we can leave it\nfor later.\n\n> >>   vmstate: Put array of pointers code together\n\nThis is a major cleanup, I left it and a few ones later aside for now.\n\n> >>   vmstate: Create and save ptr marker in same function\n> >>   vmstate: Don't recompute size and n_elems in vmstate_size\n> >>   vmstate: Increase scope of vmstate_handle_alloc\n> >>   vmstate: Remove curr_elem_p\n\nI agree this is good, and..\n\n> >>   vmstate: Introduce vmstate_first\n> >>   vmstate: Introduce vmstate_next\n\n.. despite that I feel like the current vmstate_next() impl might be\nproblematic (see my other reply), I also like this idea of having a _next\nhelper to hide some details on the ptr markers.  I'll adopt that idea,\nthanks.\n\n> >>   vmstate: Drop VMS_ARRAY_OF_POINTER_AUTO_ALLOC\n\nUntil I get corrected I think we'll need this flag, as said.  I feel like\nit's better to keep VMS_ALLOC semantics as before (when set, it must alloc\nthe top field object ignoring stream data), then this one for the array\nelements separate (meanwhile, this one is \"optionally done\", based on the\nstream data).\n\nWe have plenty of space for VMS_* flags and it's not ABI.  IMHO when we're\nnot certain to merge flags we can always keep them separate until later too.\n\n> >>   vmstate: Move VMS_MUST_EXIST check\n> >>   vmstate: Invert exists check\n> >>   vmstate: Declare variables at the top\n> >>   vmstate: Reduce indentation levels\n\nAll these seem to be cleanups.  I plan to leave them separately.\n\nI think it might be good I send another version directly, I'll do it very\nsoon and keep it RFC.  If I missed something while reading this series,\nplease then let me know.","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=CY5wV/Nw;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=google header.b=jjd8VgC9;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fhZ2r5chkz1xy1\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 27 Mar 2026 06:43:48 +1100 (AEDT)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1w5qbc-0000w3-Nh; Thu, 26 Mar 2026 15:43:00 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <peterx@redhat.com>) id 1w5qbb-0000vi-C4\n for qemu-devel@nongnu.org; Thu, 26 Mar 2026 15:42:59 -0400","from us-smtp-delivery-124.mimecast.com ([170.10.133.124])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <peterx@redhat.com>) id 1w5qbZ-0004go-J1\n for qemu-devel@nongnu.org; Thu, 26 Mar 2026 15:42:59 -0400","from mail-qk1-f197.google.com (mail-qk1-f197.google.com\n [209.85.222.197]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-6-ZshjaVKZMDC7J1BpIHdKkw-1; Thu, 26 Mar 2026 15:42:54 -0400","by mail-qk1-f197.google.com with SMTP id\n af79cd13be357-8cfcf23c0e1so357475185a.2\n for <qemu-devel@nongnu.org>; Thu, 26 Mar 2026 12:42:54 -0700 (PDT)","from x1.local ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id\n af79cd13be357-8d00e4ceb95sm318341785a.26.2026.03.26.12.42.52\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 26 Mar 2026 12:42:52 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1774554176;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n in-reply-to:in-reply-to:references:references;\n bh=s/Zn1mFmKiqlAZWnUfv0oAdityv+s4n+d8Eyp13MmPc=;\n b=CY5wV/Nw3g3HnkO649ksRy/ACZdDb7nBFpO3bcIRRWLmBIWGT/TTmGNFAGZqF1daTVXCQv\n QfQtW1Ud7IOZ0SEsthlyOYfnrXep/vzpZuFsmP8Uj/KFS0DJ0EG0EVVtgnfN/YsYCIDAnh\n hx1WJsW5SAiI22fPWawzk8MWHmlCRZA=","v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=redhat.com; s=google; t=1774554174; x=1775158974; darn=nongnu.org;\n h=in-reply-to:content-disposition:mime-version:references:message-id\n :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;\n bh=s/Zn1mFmKiqlAZWnUfv0oAdityv+s4n+d8Eyp13MmPc=;\n b=jjd8VgC96oW3N7PFRCo3eqfFH3mhYnrpAr16wRpCbXfC7p3XDdE0iCjUDjFBRKuYmZ\n QzA9IWt4Kt3dOhXCDqfwPcIJKsF9qZf/648fcZu69c7MVZbq0amsZGLpsBfSs7r/+jQT\n h5Zj9yY254IXOxIGwt6Y1KXoOWF+uIjBorCeIlufVXU/Zc8+GmniLxgNk7G2Bpic+dMQ\n pk+rQ6OJN84yPBwHGVPh+M0P4hz2bgp3EQKD2BBVnvxTXWtLQZdq6ZYxAmfMp1COW0qg\n yflFarf2C/kJ7TthIzPFyHD/V4NIf9DEWGqqbNcLi7YqoYrMCPgyiTvy2kY5Lz2e3lGk\n hGow=="],"X-MC-Unique":"ZshjaVKZMDC7J1BpIHdKkw-1","X-Mimecast-MFC-AGG-ID":"ZshjaVKZMDC7J1BpIHdKkw_1774554174","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1774554174; x=1775158974;\n h=in-reply-to:content-disposition:mime-version:references:message-id\n :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=s/Zn1mFmKiqlAZWnUfv0oAdityv+s4n+d8Eyp13MmPc=;\n b=P80V2CrtqPV4ZK9ugYufefDCYHb8r8SxnRDZG3OJqDKRkWBengoeR8V87LMoLTKhFS\n k4G1VqMfcpWAbZcVJW31bUSGvzHgIN4PegY9EtzPU9ysRXpjDK0hS3EEn77UaN/R2k1T\n RS5UMYpWN5BygOukjCr6f/IG67tTCp2U2sLTxDVDc/4YhImWuxW9AFMNbDrJ6c5L5/QM\n sFPBk0dQKuHjjXifdCTOoIQcMGBDrGVeY7Oqfj7KgIuaiOojiJ2gsZqj0cCCyFH1fVqn\n yqH3+zguT9W/RmKKVQ/eIseZIzLCeUdun3/iNzXZDF5pi4WGKdkcIypNAItmO0FwxyG0\n 8Ttg==","X-Gm-Message-State":"AOJu0Yw74byVaSM78f/bWb7T3+1K3DVp7Um/HnPj6vO4NX2X0GYIzRj9\n uKGPDBpL+gjATBnnXp9jX39b6/effG7ASREC/YNKtN4GJlLhBwg9rt1csmlNPqMKCncQv68Bt6k\n Kr42ysxj2szY3wu1pSEmBDyaoIWfK+EmJCLodLW+AN7M4F31dAGJUovaW","X-Gm-Gg":"ATEYQzyNL5Wk3m4vji3PmoY+nAXArrZrOf82KFwtLoxWjCHHKqvQH2nTsCsGS+09vWz\n Edb/8NX8wi6RHXs58NTlFJo56DjcTVoVNtxriElRz2m7+iOejoS9L75qWLVCFgzph/yK76P3N8p\n 8DMetAvADyTNQvPdS1jYJ7TqgKOZWl8fxwqlC8bKaprmtMyDhZ47k7utQd4iSNyYZ3dk/ghQ2I6\n wKUDL5kaDXoVbJaUufI24LKrph5QNPwRGEJspU4h8L3j71/rJr7rrUYd5kKidqRDjvld1wy2Aeh\n /xSaP+is/6nVYGparGvM/+JLF2zuNxMLCaMwOH70ZI9TOcCzvDiuSS7+KKG7cfnsiQsot+sSoIh\n lFPELX+C2dvq+PA==","X-Received":["by 2002:a05:620a:468c:b0:8cd:972d:335 with SMTP id\n af79cd13be357-8d00100aff6mr1231469085a.43.1774554174095;\n Thu, 26 Mar 2026 12:42:54 -0700 (PDT)","by 2002:a05:620a:468c:b0:8cd:972d:335 with SMTP id\n af79cd13be357-8d00100aff6mr1231464985a.43.1774554173478;\n Thu, 26 Mar 2026 12:42:53 -0700 (PDT)"],"Date":"Thu, 26 Mar 2026 15:42:51 -0400","From":"Peter Xu <peterx@redhat.com>","To":"Fabiano Rosas <farosas@suse.de>","Cc":"qemu-devel@nongnu.org, Alexander Mikhalitsyn <alexander@mihalicyn.com>,\n Juraj Marcin <jmarcin@redhat.com>","Subject":"Re: [RFC PATCH v1 00/17] migration: vmstate_save|load changes for\n peterx","Message-ID":"<acWMO4KZli736zEP@x1.local>","References":"<20260324194333.30004-1-farosas@suse.de>\n <acQ61yMtzZPfLUAj@x1.local> <87mrzvk6us.fsf@suse.de>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<87mrzvk6us.fsf@suse.de>","Received-SPF":"pass client-ip=170.10.133.124; envelope-from=peterx@redhat.com;\n 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,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001,\n RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,\n SPF_HELO_PASS=-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.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}}]