From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 15B13C79FB7 for ; Wed, 9 Sep 2026 14:24:55 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x4JDk-0005dD-7b; Wed, 09 Sep 2026 10:24:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x4JDi-0005cx-FI for qemu-devel@nongnu.org; Wed, 09 Sep 2026 10:24:14 -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 1x4JDg-0008O4-6V for qemu-devel@nongnu.org; Wed, 09 Sep 2026 10:24:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1788963850; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3qmxDW4GgIOBSdanZwGsuGi3aBDJYBhUGWyF5KEvLcY=; b=K3R/MQ2rIGjaf8LgX12sTQtckQsT2hw6RGs1Cw7ifeyZdrZlV4GkmXbzAlgPWKWL5TLETW DT5+Tn8+pmrq3AuXUcQk6e/KBPa9/dv7FQaDSZVvWFXXYsI9tj9YjUIf2MaWrvSQjjd6WO vew8/W6hHrw+pdMP0GXCMmf5yhPC1xs= Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-584-z5W2DxJvNNq9OmBhZjEoYQ-1; Wed, 09 Sep 2026 10:24:04 -0400 X-MC-Unique: z5W2DxJvNNq9OmBhZjEoYQ-1 X-Mimecast-MFC-AGG-ID: z5W2DxJvNNq9OmBhZjEoYQ_1788963843 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 70C4A180063C; Wed, 9 Sep 2026 14:24:03 +0000 (UTC) Received: from blackfin.pond.sub.org (unknown [10.44.22.5]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 0DD413000225; Wed, 9 Sep 2026 14:24:03 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 990F721E6A04; Wed, 09 Sep 2026 16:24:00 +0200 (CEST) From: Markus Armbruster To: =?utf-8?Q?Marc-Andr=C3=A9?= Lureau Cc: qemu-devel@nongnu.org, Paolo Bonzini , Daniel P. =?utf-8?Q?Berrang=C3=A9?= , Michael Roth , Pierrick Bouvier , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= Subject: Re: [PATCH v4 04/75] qapi: register all introspectable types, not just QMP-reachable ones In-Reply-To: <20260904-qom-qapi-v4-4-a985f168e938@redhat.com> (=?utf-8?Q?=22Marc-Andr=C3=A9?= Lureau"'s message of "Fri, 04 Sep 2026 23:57:47 +0400") References: <20260904-qom-qapi-v4-0-a985f168e938@redhat.com> <20260904-qom-qapi-v4-4-a985f168e938@redhat.com> Date: Wed, 09 Sep 2026 16:24:00 +0200 Message-ID: <87h5jyjyf3.fsf@pond.sub.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 Received-SPF: pass client-ip=170.10.133.124; envelope-from=armbru@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_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Marc-Andr=C3=A9 Lureau writes: > Rename QAPISchemaUsedTypes to QAPISchemaTypeAnalysis and broaden type > collection: instead of discovering types transitively from commands and > events, register every non-implicit type upfront in visit_needed() and > let visit_end() resolve their dependencies. So, we now discover types transitively from commands, events, and non-implicit types. Correct? > This is needed so that QOM property types that are defined in the QAPI > schema but not referenced by any command or event still appear in > query-qmp-schema output, making them introspectable by management tools. It's the stupidest solution that could possibly work. I respect that. > Commands and events still register their (often implicit) argument and > return types, which visit_needed() intentionally skips. > > This makes the x86-64 schema grow from 244K to 265K. You mean the output of query-qmp-schema, don't you? I see it grow like you wrote modulo a KiB or two. Tolerable, I guess. The QAPI schema has some 1400 definitions. Before the patch, query-qmp-schema shows some 1250 of them (89%). Afterwards, it's just under 1350 (96%). I didn't check how many of the additional types are actually used for QOM properties at the end of the series. The ones that aren't are and thus dead weight in query-qmp-schema output. I'm sure we could come up with a way to cut them out, but would it be worth our while? Even if most of them are dead weight, most of a small number is still a small number. Still elided are 38 implicit union base types and the builtin integer types we don't expose in introspection (9 total), and their lists (another 9). Computing reachability to elide these is kinda ridiculous :) Thoughts? > Signed-off-by: Marc-Andr=C3=A9 Lureau