All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Cc: Thomas Huth <thuth@redhat.com>,
	Pierre Morel <pmorel@linux.ibm.com>,
	qemu-s390x@nongnu.org, qemu-devel@nongnu.org,
	borntraeger@de.ibm.com, pasic@linux.ibm.com,
	richard.henderson@linaro.org, david@redhat.com,
	cohuck@redhat.com, mst@redhat.com, pbonzini@redhat.com,
	kvm@vger.kernel.org, ehabkost@redhat.com,
	marcel.apfelbaum@gmail.com, eblake@redhat.com,
	seiden@linux.ibm.com, nrb@linux.ibm.com, frankja@linux.ibm.com,
	berrange@redhat.com, clg@kaod.org
Subject: Re: [PATCH v16 08/11] qapi/s390x/cpu topology: set-cpu-topology monitor command
Date: Mon, 27 Feb 2023 13:25:07 +0100	[thread overview]
Message-ID: <87v8jnqorg.fsf@pond.sub.org> (raw)
In-Reply-To: <9e1cbbe11ac1429335c288e817a21f19f8f4af87.camel@linux.ibm.com> (Nina Schoetterl-Glausch's message of "Mon, 27 Feb 2023 11:49:51 +0100")

Nina Schoetterl-Glausch <nsg@linux.ibm.com> writes:

> On Mon, 2023-02-27 at 08:59 +0100, Thomas Huth wrote:

[...]

>> I'm not sure whether double inclusion works with the QAPI parser (since this 
>> might code to be generated twice) ... have you tried?
>
> I haven't, the documentation says:
>
>> Include directives
>> ------------------
>> 
>> Syntax::
>> 
>>     INCLUDE = { 'include': STRING }
>> 
>> The QAPI schema definitions can be modularized using the 'include' directive::
>> 
>>  { 'include': 'path/to/file.json' }
>> 
>> The directive is evaluated recursively, and include paths are relative
>> to the file using the directive.  Multiple includes of the same file
>> are idempotent.
>
> Which is why I thought it should work, but I guess this is a statement about
> including the same file twice in another file and not about including the same
> file from two files.

No, this is intended to say multiple inclusion is fine, regardless where
the include directives are.

An include directive has two effects:

1. If the included file has not been included already, pull in its
   contents.

2. Insert #include in generated C.  Example: qdev.json includes
   qom.json.  The generated qapi-*-qdev.h include qapi-types-qom.h.

   Including any required modules, as recommended by qapi-code-gen.rst,
   results in properly self-contained generated headers.

> But then, as far as I can tell, the build system only builds qapi-schema.json,
> which includes all other files, so it could apply.

Yes, qapi-schema.json is the main module, which includes all the others.

In fact, it includes all the others *directly*.  Why?

We generate documentation in source order.  Included material gets
inserted right at the first inclusion; subsequent inclusions have no
effect.

If we put all first inclusions right into qapi-schema.json, the order of
things in documentation is visible right there, and won't change just
because we change inclusions deeper down.

Questions?


  reply	other threads:[~2023-02-27 12:26 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-22 14:20 [PATCH v16 00/11] s390x: CPU Topology Pierre Morel
2023-02-22 14:20 ` [PATCH v16 01/11] s390x/cpu topology: add s390 specifics to CPU topology Pierre Morel
2023-02-22 14:20 ` [PATCH v16 02/11] s390x/cpu topology: add topology entries on CPU hotplug Pierre Morel
2023-02-23 12:53   ` Thomas Huth
2023-02-23 14:06     ` pierre
2023-02-23 14:13       ` Nina Schoetterl-Glausch
2023-02-23 14:35         ` pierre
2023-02-22 14:20 ` [PATCH v16 03/11] target/s390x/cpu topology: handle STSI(15) and build the SYSIB Pierre Morel
2023-02-23 13:30   ` Thomas Huth
2023-02-23 14:27     ` pierre
2023-02-27 13:21   ` Nina Schoetterl-Glausch
2023-03-08 15:24     ` Pierre Morel
2023-02-22 14:20 ` [PATCH v16 04/11] s390x/sclp: reporting the maximum nested topology entries Pierre Morel
2023-02-22 14:20 ` [PATCH v16 05/11] s390x/cpu topology: resetting the Topology-Change-Report Pierre Morel
2023-02-22 14:21 ` [PATCH v16 06/11] s390x/cpu topology: interception of PTF instruction Pierre Morel
2023-02-27 12:39   ` Thomas Huth
2023-02-27 14:12     ` Pierre Morel
2023-02-22 14:21 ` [PATCH v16 07/11] target/s390x/cpu topology: activating CPU topology Pierre Morel
2023-02-27 13:26   ` Thomas Huth
2023-02-27 14:13     ` Pierre Morel
2023-02-22 14:21 ` [PATCH v16 08/11] qapi/s390x/cpu topology: set-cpu-topology monitor command Pierre Morel
2023-02-24 17:15   ` Nina Schoetterl-Glausch
2023-02-27  7:59     ` Thomas Huth
2023-02-27 10:49       ` Nina Schoetterl-Glausch
2023-02-27 12:25         ` Markus Armbruster [this message]
2023-02-27 12:51           ` Nina Schoetterl-Glausch
2023-02-27 15:34             ` Markus Armbruster
2023-02-27 10:57     ` Pierre Morel
2023-02-27 11:26       ` Thomas Huth
2023-02-27 12:15       ` Nina Schoetterl-Glausch
2023-02-27 14:11         ` Pierre Morel
2023-03-02 15:00     ` Pierre Morel
2023-02-27  8:26   ` Pierre Morel
2023-02-27  8:52     ` [PATCH v17 08/12] " Pierre Morel
2023-02-27  8:52       ` [PATCH v17 12/12] machine: adding s390 topology to info hotpluggable-cpus Pierre Morel
2023-02-22 14:21 ` [PATCH v16 09/11] machine: adding s390 topology to query-cpu-fast Pierre Morel
2023-02-27 13:27   ` Thomas Huth
2023-02-27 14:13     ` Pierre Morel
2023-02-22 14:21 ` [PATCH v16 10/11] qapi/s390x/cpu topology: CPU_POLARIZATION_CHANGE qapi event Pierre Morel
2023-02-27 13:32   ` Thomas Huth
2023-02-27 14:14     ` Pierre Morel
2023-02-22 14:21 ` [PATCH v16 11/11] docs/s390x/cpu topology: document s390x cpu topology Pierre Morel
2023-02-27 13:58   ` Thomas Huth
2023-02-27 14:17     ` Pierre Morel
2023-02-27 14:27       ` Thomas Huth
2023-02-27 17:34         ` Pierre Morel
2023-03-01 15:52   ` Nina Schoetterl-Glausch
2023-03-02  8:58     ` Pierre Morel
2023-02-27 14:00 ` [PATCH v16 00/11] s390x: CPU Topology Thomas Huth
2023-02-27 14:20   ` Pierre Morel
  -- strict thread matches above, loose matches on Subject: below --
2023-04-28 21:25 [PATCH v16 08/11] qapi/s390x/cpu topology: set-cpu-topology monitor command Nagy Vani

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87v8jnqorg.fsf@pond.sub.org \
    --to=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=clg@kaod.org \
    --cc=cohuck@redhat.com \
    --cc=david@redhat.com \
    --cc=eblake@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mst@redhat.com \
    --cc=nrb@linux.ibm.com \
    --cc=nsg@linux.ibm.com \
    --cc=pasic@linux.ibm.com \
    --cc=pbonzini@redhat.com \
    --cc=pmorel@linux.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=seiden@linux.ibm.com \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.