All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] qapi/misc.json is too big, let's bite off a few chunks
@ 2019-05-23 16:14 Markus Armbruster
  2019-05-24 18:31 ` Paolo Bonzini
  2019-05-24 18:53 ` Eduardo Habkost
  0 siblings, 2 replies; 14+ messages in thread
From: Markus Armbruster @ 2019-05-23 16:14 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marc-André Lureau, Richard Henderson, Eduardo Habkost,
	Paolo Bonzini

It's nice when QAPI schema modules clearly belong to a single subsystem
in addition to "QAPI Schema".  misc.json doesn't, and it's grown fat:
3000+ lines.  Let's move out some stuff.  Here are a few candidates:

* Dump (Marc-André)

  dump-guest-memory, query-dump, DUMP_COMPLETED,
  query-dump-guest-memory-capability

  ~200 lines.

* Machine core (Eduardo, Marcel)

  query-machines, query-current-machine, 

  ~60 lines.  Hardly worthwhile from a "let's shrink misc.json" point of
  view.  Might be worthwhile from a "let's make get_maintainers.pl
  work".

* CPUs (Paolo, Richard)

  query-cpus, query-cpus-fast

  ~300 lines.  The commands are implemented in cpus.c, which MAINTAINERS
  covers both under "Main loop" and under "Guest CPU cores (TCG) /
  Overall".  Neither feels right to me for these QMP commands.

* NUMA (Eduardo)

  query-memdev, set-numa-node

  ~200 lines.

Opinions?

Additional candidates?


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] qapi/misc.json is too big, let's bite off a few chunks
  2019-05-23 16:14 [Qemu-devel] qapi/misc.json is too big, let's bite off a few chunks Markus Armbruster
@ 2019-05-24 18:31 ` Paolo Bonzini
  2019-06-07  8:25   ` Markus Armbruster
  2019-05-24 18:53 ` Eduardo Habkost
  1 sibling, 1 reply; 14+ messages in thread
From: Paolo Bonzini @ 2019-05-24 18:31 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel
  Cc: Marc-André Lureau, Eduardo Habkost, Richard Henderson

On 23/05/19 18:14, Markus Armbruster wrote:
> * Machine core (Eduardo, Marcel)
> 
>   query-machines, query-current-machine, 
> 
>   ~60 lines.  Hardly worthwhile from a "let's shrink misc.json" point of
>   view.  Might be worthwhile from a "let's make get_maintainers.pl
>   work".
> 
> * CPUs (Paolo, Richard)
> 
>   query-cpus, query-cpus-fast
> 
>   ~300 lines.  The commands are implemented in cpus.c, which MAINTAINERS
>   covers both under "Main loop" and under "Guest CPU cores (TCG) /
>   Overall".  Neither feels right to me for these QMP commands.
> 
> * NUMA (Eduardo)
> 
>   query-memdev, set-numa-node
> 
>   ~200 lines.

I would move all three of these and add a new entry to MAINTAINERS.

Paoo


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] qapi/misc.json is too big, let's bite off a few chunks
  2019-05-23 16:14 [Qemu-devel] qapi/misc.json is too big, let's bite off a few chunks Markus Armbruster
  2019-05-24 18:31 ` Paolo Bonzini
@ 2019-05-24 18:53 ` Eduardo Habkost
  2019-05-27  8:00   ` Markus Armbruster
  1 sibling, 1 reply; 14+ messages in thread
From: Eduardo Habkost @ 2019-05-24 18:53 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: Marc-André Lureau, Richard Henderson, qemu-devel, Paolo Bonzini

On Thu, May 23, 2019 at 06:14:18PM +0200, Markus Armbruster wrote:
> It's nice when QAPI schema modules clearly belong to a single subsystem
> in addition to "QAPI Schema".  misc.json doesn't, and it's grown fat:
> 3000+ lines.  Let's move out some stuff.  Here are a few candidates:
> 
> * Dump (Marc-André)
> 
>   dump-guest-memory, query-dump, DUMP_COMPLETED,
>   query-dump-guest-memory-capability
> 
>   ~200 lines.
> 
> * Machine core (Eduardo, Marcel)
> 
>   query-machines, query-current-machine, 
> 
>   ~60 lines.  Hardly worthwhile from a "let's shrink misc.json" point of
>   view.  Might be worthwhile from a "let's make get_maintainers.pl
>   work".
> 
> * CPUs (Paolo, Richard)
> 
>   query-cpus, query-cpus-fast
> 
>   ~300 lines.  The commands are implemented in cpus.c, which MAINTAINERS
>   covers both under "Main loop" and under "Guest CPU cores (TCG) /
>   Overall".  Neither feels right to me for these QMP commands.

Should it include query-cpu-* (currently on target.json),
and query-hotpluggable-cpus?

> 
> * NUMA (Eduardo)
> 
>   query-memdev, set-numa-node
> 
>   ~200 lines.
> 
> Opinions?
> 
> Additional candidates?

QOM: qom-list, qom-get, qom-set, qom-list-properties, object-add
object-del.

-- 
Eduardo


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] qapi/misc.json is too big, let's bite off a few chunks
  2019-05-24 18:53 ` Eduardo Habkost
@ 2019-05-27  8:00   ` Markus Armbruster
  2019-05-27 10:03     ` Paolo Bonzini
  0 siblings, 1 reply; 14+ messages in thread
From: Markus Armbruster @ 2019-05-27  8:00 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: Marc-André Lureau, Paolo Bonzini, qemu-devel, Richard Henderson

Eduardo Habkost <ehabkost@redhat.com> writes:

> On Thu, May 23, 2019 at 06:14:18PM +0200, Markus Armbruster wrote:
>> It's nice when QAPI schema modules clearly belong to a single subsystem
>> in addition to "QAPI Schema".  misc.json doesn't, and it's grown fat:
>> 3000+ lines.  Let's move out some stuff.  Here are a few candidates:
>> 
>> * Dump (Marc-André)
>> 
>>   dump-guest-memory, query-dump, DUMP_COMPLETED,
>>   query-dump-guest-memory-capability
>> 
>>   ~200 lines.
>> 
>> * Machine core (Eduardo, Marcel)
>> 
>>   query-machines, query-current-machine, 
>> 
>>   ~60 lines.  Hardly worthwhile from a "let's shrink misc.json" point of
>>   view.  Might be worthwhile from a "let's make get_maintainers.pl
>>   work".
>> 
>> * CPUs (Paolo, Richard)
>> 
>>   query-cpus, query-cpus-fast
>> 
>>   ~300 lines.  The commands are implemented in cpus.c, which MAINTAINERS
>>   covers both under "Main loop" and under "Guest CPU cores (TCG) /
>>   Overall".  Neither feels right to me for these QMP commands.
>
> Should it include query-cpu-* (currently on target.json),
> and query-hotpluggable-cpus?

Interesting question.  We might need both cpu.json and cpu-target.json,
to keep target-independent and target-dependent separated.

>> * NUMA (Eduardo)
>> 
>>   query-memdev, set-numa-node
>> 
>>   ~200 lines.
>> 
>> Opinions?
>> 
>> Additional candidates?
>
> QOM: qom-list, qom-get, qom-set, qom-list-properties, object-add
> object-del.

Also qom-list-types.

~230 lines.

As long as we don't have an active QOM maintainer[*], the benefit is
low.


[*] We need one.  I'm not volunteering.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] qapi/misc.json is too big, let's bite off a few chunks
  2019-05-27  8:00   ` Markus Armbruster
@ 2019-05-27 10:03     ` Paolo Bonzini
  2019-05-28 19:37       ` Eduardo Habkost
  2019-06-07  6:59       ` Markus Armbruster
  0 siblings, 2 replies; 14+ messages in thread
From: Paolo Bonzini @ 2019-05-27 10:03 UTC (permalink / raw)
  To: Markus Armbruster, Eduardo Habkost
  Cc: Marc-André Lureau, qemu-devel, Richard Henderson

On 27/05/19 10:00, Markus Armbruster wrote:
> As long as we don't have an active QOM maintainer[*], the benefit is
> low.
> 
> 
> [*] We need one.  I'm not volunteering.

I think Daniel, Eduardo and I could count as de facto maintainer.  I
guess I could maintain it if I get two partners in crime as reviewers.

Paolo



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] qapi/misc.json is too big, let's bite off a few chunks
  2019-05-27 10:03     ` Paolo Bonzini
@ 2019-05-28 19:37       ` Eduardo Habkost
  2019-06-07  6:59       ` Markus Armbruster
  1 sibling, 0 replies; 14+ messages in thread
From: Eduardo Habkost @ 2019-05-28 19:37 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Marc-André Lureau, Markus Armbruster, Richard Henderson

On Mon, May 27, 2019 at 12:03:50PM +0200, Paolo Bonzini wrote:
> On 27/05/19 10:00, Markus Armbruster wrote:
> > As long as we don't have an active QOM maintainer[*], the benefit is
> > low.
> > 
> > 
> > [*] We need one.  I'm not volunteering.
> 
> I think Daniel, Eduardo and I could count as de facto maintainer.  I
> guess I could maintain it if I get two partners in crime as reviewers.

Well, I guess this is just what we have been already doing
becoming official.  You can count me in.

-- 
Eduardo


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] qapi/misc.json is too big, let's bite off a few chunks
  2019-05-27 10:03     ` Paolo Bonzini
  2019-05-28 19:37       ` Eduardo Habkost
@ 2019-06-07  6:59       ` Markus Armbruster
  2019-06-07  8:33         ` Philippe Mathieu-Daudé
  2019-06-07  9:59         ` Daniel P. Berrangé
  1 sibling, 2 replies; 14+ messages in thread
From: Markus Armbruster @ 2019-06-07  6:59 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Daniel P. Berrangé,
	Eduardo Habkost, Philippe Mathieu-Daudé,
	qemu-devel, Marc-André Lureau, Andreas Färber,
	Richard Henderson

Paolo Bonzini <pbonzini@redhat.com> writes:

> On 27/05/19 10:00, Markus Armbruster wrote:
>> As long as we don't have an active QOM maintainer[*], the benefit is
>> low.
>> 
>> 
>> [*] We need one.  I'm not volunteering.
>
> I think Daniel, Eduardo and I could count as de facto maintainer.  I
> guess I could maintain it if I get two partners in crime as reviewers.

Alright, we need two volunteers for the reviewer role, and one patch to
MAINTAINERS.

A mention in MAINTAINERS is the traditional punishment for good work, so
let's see who's been doing the work.  Aha:

    Eduardo Habkost
    Marc-André Lureau
    Markus Armbruster
    Eric Blake
    Philippe Mathieu-Daudé

Details appended.

QOM is not a particularly active subsystem now: 51 commits in two years.

We obviously need maintainers to review and merge patches.  The nominal
maintainer hasn't been doing that since 2015.  Git shows the following
top committers taking on / getting sucked into QOM:

    Markus Armbruster <armbru@redhat.com>
    Eduardo Habkost <ehabkost@redhat.com>
    Paolo Bonzini <pbonzini@redhat.com>
    Marc-André Lureau <marcandre.lureau@redhat.com>
    Eric Blake <eblake@redhat.com>

We really need nominal maintainer(s) again.

Of course, *active* maintainers would be even better: I consider QOM
stuck in an unhappy place where much of its potential is still
potential.

But let's start small.  Volunteers for the reviewer role, please step
forward :)



The details I promised:

Output of "scripts/get_maintainer.pl --git --git-since='2-years-ago' |
grep commit_signer" sorted by file size:

= qom/object.c =
"Marc-André Lureau" <marcandre.lureau@redhat.com> (commit_signer:20/36=56%)
Markus Armbruster <armbru@redhat.com> (commit_signer:15/36=42%)
Eric Blake <eblake@redhat.com> (commit_signer:14/36=39%)
Eduardo Habkost <ehabkost@redhat.com> (commit_signer:14/36=39%)
"Philippe Mathieu-Daudé" <philmd@redhat.com> (commit_signer:9/36=25%)

= include/qom/object.h =
Eduardo Habkost <ehabkost@redhat.com> (commit_signer:9/18=50%)
"Marc-André Lureau" <marcandre.lureau@redhat.com> (commit_signer:8/18=44%)
Igor Mammedov <imammedo@redhat.com> (commit_signer:6/18=33%)
Markus Armbruster <armbru@redhat.com> (commit_signer:6/18=33%)
David Gibson <david@gibson.dropbear.id.au> (commit_signer:5/18=28%)

= include/qom/object_interfaces.h =
Eduardo Habkost <ehabkost@redhat.com> (commit_signer:8/5=100%)
Igor Mammedov <imammedo@redhat.com> (commit_signer:3/5=60%)
"Marc-André Lureau" <marcandre.lureau@redhat.com> (commit_signer:2/5=40%)
"Philippe Mathieu-Daudé" <f4bug@amsat.org> (commit_signer:2/5=40%)
Eric Blake <eblake@redhat.com> (commit_signer:1/5=20%)

= qom/object_interfaces.c =
Eric Blake <eblake@redhat.com> (commit_signer:9/12=75%)
"Marc-André Lureau" <marcandre.lureau@redhat.com> (commit_signer:7/12=58%)
Markus Armbruster <armbru@redhat.com> (commit_signer:7/12=58%)
Eduardo Habkost <ehabkost@redhat.com> (commit_signer:6/12=50%)
"Philippe Mathieu-Daudé" <philmd@redhat.com> (commit_signer:4/12=33%)

= qom/qom-qobject.c =

= include/qom/qom-qobject.h =

= qom/trace-events =
Stefan Hajnoczi <stefanha@redhat.com> (commit_signer:2/2=100%)
"Philippe Mathieu-Daudé" <philmd@redhat.com> (commit_signer:2/2=100%)
Markus Armbruster <armbru@redhat.com> (commit_signer:1/2=50%)
Michael Tokarev <mjt@tls.msk.ru> (commit_signer:1/2=50%)

= qom/Makefile.objs =


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] qapi/misc.json is too big, let's bite off a few chunks
  2019-05-24 18:31 ` Paolo Bonzini
@ 2019-06-07  8:25   ` Markus Armbruster
  2019-06-07 11:35     ` Paolo Bonzini
  0 siblings, 1 reply; 14+ messages in thread
From: Markus Armbruster @ 2019-06-07  8:25 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Marc-André Lureau, Richard Henderson, qemu-devel, Eduardo Habkost

Paolo Bonzini <pbonzini@redhat.com> writes:

> On 23/05/19 18:14, Markus Armbruster wrote:
>> * Machine core (Eduardo, Marcel)
>> 
>>   query-machines, query-current-machine, 
>> 
>>   ~60 lines.  Hardly worthwhile from a "let's shrink misc.json" point of
>>   view.  Might be worthwhile from a "let's make get_maintainers.pl
>>   work".
>> 
>> * CPUs (Paolo, Richard)
>> 
>>   query-cpus, query-cpus-fast
>> 
>>   ~300 lines.  The commands are implemented in cpus.c, which MAINTAINERS
>>   covers both under "Main loop" and under "Guest CPU cores (TCG) /
>>   Overall".  Neither feels right to me for these QMP commands.
>> 
>> * NUMA (Eduardo)
>> 
>>   query-memdev, set-numa-node
>> 
>>   ~200 lines.
>
> I would move all three of these and add a new entry to MAINTAINERS.

Double-checking: do you propose to move all three to a single new QAPI
module, with a new MAINTAINERS entry covering just the new QAPI module?
If yes, care to propose a QAPI module file name, a MAINTAINERS head
line, and maintainers?

Or do you propose to create three QAPI modules machine.json, cpus.json,
numa.json, with machine.json filed in MAINTAINERS under "Machine core",
numa.json under "NUMA", and cpus.json under a new entry?


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] qapi/misc.json is too big, let's bite off a few chunks
  2019-06-07  6:59       ` Markus Armbruster
@ 2019-06-07  8:33         ` Philippe Mathieu-Daudé
  2019-06-07 12:25           ` Markus Armbruster
  2019-06-07  9:59         ` Daniel P. Berrangé
  1 sibling, 1 reply; 14+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-06-07  8:33 UTC (permalink / raw)
  To: Markus Armbruster, Paolo Bonzini
  Cc: Daniel P. Berrangé,
	Eduardo Habkost, qemu-devel, Marc-André Lureau,
	Andreas Färber, Richard Henderson

On 6/7/19 8:59 AM, Markus Armbruster wrote:
[...]
> QOM is not a particularly active subsystem now: 51 commits in two years.
> 
> We obviously need maintainers to review and merge patches.  The nominal
> maintainer hasn't been doing that since 2015.  Git shows the following
> top committers taking on / getting sucked into QOM:
> 
>     Markus Armbruster <armbru@redhat.com>
>     Eduardo Habkost <ehabkost@redhat.com>
>     Paolo Bonzini <pbonzini@redhat.com>
>     Marc-André Lureau <marcandre.lureau@redhat.com>
>     Eric Blake <eblake@redhat.com>
> 
> We really need nominal maintainer(s) again.
> 
> Of course, *active* maintainers would be even better: I consider QOM
> stuck in an unhappy place where much of its potential is still
> potential.
> 
> But let's start small.  Volunteers for the reviewer role, please step
> forward :)
> 
> 
> 
> The details I promised:
> 
> Output of "scripts/get_maintainer.pl --git --git-since='2-years-ago' |
> grep commit_signer" sorted by file size:
> 
[...]
> = include/qom/object_interfaces.h =
> Eduardo Habkost <ehabkost@redhat.com> (commit_signer:8/5=100%)
> Igor Mammedov <imammedo@redhat.com> (commit_signer:3/5=60%)
> "Marc-André Lureau" <marcandre.lureau@redhat.com> (commit_signer:2/5=40%)
> "Philippe Mathieu-Daudé" <f4bug@amsat.org> (commit_signer:2/5=40%)
> Eric Blake <eblake@redhat.com> (commit_signer:1/5=20%)

get_maintainer's commit_signer is lying...

[...]
> = qom/trace-events =
> Stefan Hajnoczi <stefanha@redhat.com> (commit_signer:2/2=100%)
> "Philippe Mathieu-Daudé" <philmd@redhat.com> (commit_signer:2/2=100%)
> Markus Armbruster <armbru@redhat.com> (commit_signer:1/2=50%)
> Michael Tokarev <mjt@tls.msk.ru> (commit_signer:1/2=50%)

This 'git log -p' history of this file is very interesting...


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] qapi/misc.json is too big, let's bite off a few chunks
  2019-06-07  6:59       ` Markus Armbruster
  2019-06-07  8:33         ` Philippe Mathieu-Daudé
@ 2019-06-07  9:59         ` Daniel P. Berrangé
  1 sibling, 0 replies; 14+ messages in thread
From: Daniel P. Berrangé @ 2019-06-07  9:59 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: Eduardo Habkost, Philippe Mathieu-Daudé,
	qemu-devel, Marc-André Lureau, Paolo Bonzini,
	Andreas Färber, Richard Henderson

On Fri, Jun 07, 2019 at 08:59:31AM +0200, Markus Armbruster wrote:
> Paolo Bonzini <pbonzini@redhat.com> writes:
> 
> > On 27/05/19 10:00, Markus Armbruster wrote:
> >> As long as we don't have an active QOM maintainer[*], the benefit is
> >> low.
> >> 
> >> 
> >> [*] We need one.  I'm not volunteering.
> >
> > I think Daniel, Eduardo and I could count as de facto maintainer.  I
> > guess I could maintain it if I get two partners in crime as reviewers.
> 
> Alright, we need two volunteers for the reviewer role, and one patch to
> MAINTAINERS.
> 
> A mention in MAINTAINERS is the traditional punishment for good work, so
> let's see who's been doing the work.  Aha:
> 
>     Eduardo Habkost
>     Marc-André Lureau
>     Markus Armbruster
>     Eric Blake
>     Philippe Mathieu-Daudé
> 
> Details appended.
> 
> QOM is not a particularly active subsystem now: 51 commits in two years.
> 
> We obviously need maintainers to review and merge patches.  The nominal
> maintainer hasn't been doing that since 2015.  Git shows the following
> top committers taking on / getting sucked into QOM:
> 
>     Markus Armbruster <armbru@redhat.com>
>     Eduardo Habkost <ehabkost@redhat.com>
>     Paolo Bonzini <pbonzini@redhat.com>
>     Marc-André Lureau <marcandre.lureau@redhat.com>
>     Eric Blake <eblake@redhat.com>
> 
> We really need nominal maintainer(s) again.
> 
> Of course, *active* maintainers would be even better: I consider QOM
> stuck in an unhappy place where much of its potential is still
> potential.
> 
> But let's start small.  Volunteers for the reviewer role, please step
> forward :)

I'm happy to be a reviewer since I understand the code fairly well.
I don't want to volunteer to be maintainer as I can't promise to
be timely at dealing with yet another patch queue.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] qapi/misc.json is too big, let's bite off a few chunks
  2019-06-07  8:25   ` Markus Armbruster
@ 2019-06-07 11:35     ` Paolo Bonzini
  2019-06-07 12:45       ` Markus Armbruster
  0 siblings, 1 reply; 14+ messages in thread
From: Paolo Bonzini @ 2019-06-07 11:35 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: Marc-André Lureau, Richard Henderson, qemu-devel, Eduardo Habkost

On 07/06/19 10:25, Markus Armbruster wrote:
> Paolo Bonzini <pbonzini@redhat.com> writes:
> 
>> On 23/05/19 18:14, Markus Armbruster wrote:
>>> * Machine core (Eduardo, Marcel)
>>>
>>>   query-machines, query-current-machine, 
>>>
>>>   ~60 lines.  Hardly worthwhile from a "let's shrink misc.json" point of
>>>   view.  Might be worthwhile from a "let's make get_maintainers.pl
>>>   work".
>>>
>>> * CPUs (Paolo, Richard)
>>>
>>>   query-cpus, query-cpus-fast
>>>
>>>   ~300 lines.  The commands are implemented in cpus.c, which MAINTAINERS
>>>   covers both under "Main loop" and under "Guest CPU cores (TCG) /
>>>   Overall".  Neither feels right to me for these QMP commands.
>>>
>>> * NUMA (Eduardo)
>>>
>>>   query-memdev, set-numa-node
>>>
>>>   ~200 lines.
>>
>> I would move all three of these and add a new entry to MAINTAINERS.
> 
> Double-checking: do you propose to move all three to a single new QAPI
> module, with a new MAINTAINERS entry covering just the new QAPI module?
> If yes, care to propose a QAPI module file name, a MAINTAINERS head
> line, and maintainers?

Just one, qapi/machine.json, with a MAINTAINERS patch based on this one.
 We could probably create a new directory hw/machine too.

diff --git a/MAINTAINERS b/MAINTAINERS
index a96829ea83..9bf3e6b670 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1274,8 +1274,12 @@ S: Supported
 F: hw/core/machine.c
 F: hw/core/null-machine.c
 F: hw/cpu/cluster.c
+F: numa.c
+F: qom/cpu.c
 F: include/hw/boards.h
 F: include/hw/cpu/cluster.h
+F: include/qom/cpu.h
+F: include/sysemu/numa.h
 T: git https://github.com/ehabkost/qemu.git machine-next

 Xtensa Machines
@@ -1839,12 +1843,6 @@ M: Markus Armbruster <armbru@redhat.com>
 S: Supported
 F: scripts/coverity-model.c

-CPU
-L: qemu-devel@nongnu.org
-S: Supported
-F: qom/cpu.c
-F: include/qom/cpu.h
-
 Device Tree
 M: Alistair Francis <alistair.francis@wdc.com>
 R: David Gibson <david@gibson.dropbear.id.au>
@@ -1947,13 +1945,6 @@ W: http://info.iet.unipi.it/~luigi/netmap/
 S: Maintained
 F: net/netmap.c

-NUMA
-M: Eduardo Habkost <ehabkost@redhat.com>
-S: Maintained
-F: numa.c
-F: include/sysemu/numa.h
-T: git https://github.com/ehabkost/qemu.git machine-next
-
 Host Memory Backends
 M: Eduardo Habkost <ehabkost@redhat.com>
 M: Igor Mammedov <imammedo@redhat.com>


> Or do you propose to create three QAPI modules machine.json, cpus.json,
> numa.json, with machine.json filed in MAINTAINERS under "Machine core",
> numa.json under "NUMA", and cpus.json under a new entry?
> 



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] qapi/misc.json is too big, let's bite off a few chunks
  2019-06-07  8:33         ` Philippe Mathieu-Daudé
@ 2019-06-07 12:25           ` Markus Armbruster
  0 siblings, 0 replies; 14+ messages in thread
From: Markus Armbruster @ 2019-06-07 12:25 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Daniel P. Berrangé,
	Eduardo Habkost, qemu-devel, Marc-André Lureau,
	Paolo Bonzini, Andreas Färber, Richard Henderson

Philippe Mathieu-Daudé <philmd@redhat.com> writes:

> On 6/7/19 8:59 AM, Markus Armbruster wrote:
> [...]
>> QOM is not a particularly active subsystem now: 51 commits in two years.
>> 
>> We obviously need maintainers to review and merge patches.  The nominal
>> maintainer hasn't been doing that since 2015.  Git shows the following
>> top committers taking on / getting sucked into QOM:
>> 
>>     Markus Armbruster <armbru@redhat.com>
>>     Eduardo Habkost <ehabkost@redhat.com>
>>     Paolo Bonzini <pbonzini@redhat.com>
>>     Marc-André Lureau <marcandre.lureau@redhat.com>
>>     Eric Blake <eblake@redhat.com>
>> 
>> We really need nominal maintainer(s) again.
>> 
>> Of course, *active* maintainers would be even better: I consider QOM
>> stuck in an unhappy place where much of its potential is still
>> potential.
>> 
>> But let's start small.  Volunteers for the reviewer role, please step
>> forward :)
>> 
>> 
>> 
>> The details I promised:
>> 
>> Output of "scripts/get_maintainer.pl --git --git-since='2-years-ago' |
>> grep commit_signer" sorted by file size:
>> 
> [...]
>> = include/qom/object_interfaces.h =
>> Eduardo Habkost <ehabkost@redhat.com> (commit_signer:8/5=100%)
>> Igor Mammedov <imammedo@redhat.com> (commit_signer:3/5=60%)
>> "Marc-André Lureau" <marcandre.lureau@redhat.com> (commit_signer:2/5=40%)
>> "Philippe Mathieu-Daudé" <f4bug@amsat.org> (commit_signer:2/5=40%)
>> Eric Blake <eblake@redhat.com> (commit_signer:1/5=20%)
>
> get_maintainer's commit_signer is lying...

Any of Signed-off-by:, Reviewed-by:, Acked-by: counts as
"commit_signer".

[...]
>> = qom/trace-events =
>> Stefan Hajnoczi <stefanha@redhat.com> (commit_signer:2/2=100%)
>> "Philippe Mathieu-Daudé" <philmd@redhat.com> (commit_signer:2/2=100%)
>> Markus Armbruster <armbru@redhat.com> (commit_signer:1/2=50%)
>> Michael Tokarev <mjt@tls.msk.ru> (commit_signer:1/2=50%)
>
> This 'git log -p' history of this file is very interesting...

Papershuffling...


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] qapi/misc.json is too big, let's bite off a few chunks
  2019-06-07 11:35     ` Paolo Bonzini
@ 2019-06-07 12:45       ` Markus Armbruster
  2019-06-11 21:20         ` Eduardo Habkost
  0 siblings, 1 reply; 14+ messages in thread
From: Markus Armbruster @ 2019-06-07 12:45 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Marc-André Lureau, qemu-devel, Eduardo Habkost, Richard Henderson

Paolo Bonzini <pbonzini@redhat.com> writes:

> On 07/06/19 10:25, Markus Armbruster wrote:
>> Paolo Bonzini <pbonzini@redhat.com> writes:
>> 
>>> On 23/05/19 18:14, Markus Armbruster wrote:
>>>> * Machine core (Eduardo, Marcel)
>>>>
>>>>   query-machines, query-current-machine, 
>>>>
>>>>   ~60 lines.  Hardly worthwhile from a "let's shrink misc.json" point of
>>>>   view.  Might be worthwhile from a "let's make get_maintainers.pl
>>>>   work".
>>>>
>>>> * CPUs (Paolo, Richard)
>>>>
>>>>   query-cpus, query-cpus-fast
>>>>
>>>>   ~300 lines.  The commands are implemented in cpus.c, which MAINTAINERS
>>>>   covers both under "Main loop" and under "Guest CPU cores (TCG) /
>>>>   Overall".  Neither feels right to me for these QMP commands.
>>>>
>>>> * NUMA (Eduardo)
>>>>
>>>>   query-memdev, set-numa-node
>>>>
>>>>   ~200 lines.
>>>
>>> I would move all three of these and add a new entry to MAINTAINERS.
>> 
>> Double-checking: do you propose to move all three to a single new QAPI
>> module, with a new MAINTAINERS entry covering just the new QAPI module?
>> If yes, care to propose a QAPI module file name, a MAINTAINERS head
>> line, and maintainers?
>
> Just one, qapi/machine.json, with a MAINTAINERS patch based on this one.

Okay, I'd like to take care of that.

>  We could probably create a new directory hw/machine too.

I'd prefer to leave that to you, because making you explain to me what
exactly you want moved is likely more work for both of us :)

> diff --git a/MAINTAINERS b/MAINTAINERS
> index a96829ea83..9bf3e6b670 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1274,8 +1274,12 @@ S: Supported
>  F: hw/core/machine.c
>  F: hw/core/null-machine.c
>  F: hw/cpu/cluster.c
> +F: numa.c
> +F: qom/cpu.c
>  F: include/hw/boards.h
>  F: include/hw/cpu/cluster.h
> +F: include/qom/cpu.h
> +F: include/sysemu/numa.h
>  T: git https://github.com/ehabkost/qemu.git machine-next
>
>  Xtensa Machines
> @@ -1839,12 +1843,6 @@ M: Markus Armbruster <armbru@redhat.com>
>  S: Supported
>  F: scripts/coverity-model.c
>
> -CPU
> -L: qemu-devel@nongnu.org
> -S: Supported
> -F: qom/cpu.c
> -F: include/qom/cpu.h
> -
>  Device Tree
>  M: Alistair Francis <alistair.francis@wdc.com>
>  R: David Gibson <david@gibson.dropbear.id.au>
> @@ -1947,13 +1945,6 @@ W: http://info.iet.unipi.it/~luigi/netmap/
>  S: Maintained
>  F: net/netmap.c
>
> -NUMA
> -M: Eduardo Habkost <ehabkost@redhat.com>
> -S: Maintained
> -F: numa.c
> -F: include/sysemu/numa.h
> -T: git https://github.com/ehabkost/qemu.git machine-next
> -
>  Host Memory Backends
>  M: Eduardo Habkost <ehabkost@redhat.com>
>  M: Igor Mammedov <imammedo@redhat.com>

This merges MAINTAINERS section "NUMA" into "Machine core" (with section
"CPU" thrown in for good measure).  Moving their QAPI schema bits from
misc.json to new machine.json then makes sense.  Good.

The part I'm unsure about is item "CPUs" from my list, i.e. query-cpus
and query-cpus-fast.  If I move these QAPI schema bits to machine.json
as well, then the QAPI schema for query-cpus, query-cpus-fast is covered
by section "Machine core", while the C code (in cpus.c) is covered by
"Main loop" and "Guest CPU cores (TCG) / Overall".  I hate that.  Would
you like me to try moving the C code out of cpus.c so it can be covered
by "Machine core"?

[...]


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] qapi/misc.json is too big, let's bite off a few chunks
  2019-06-07 12:45       ` Markus Armbruster
@ 2019-06-11 21:20         ` Eduardo Habkost
  0 siblings, 0 replies; 14+ messages in thread
From: Eduardo Habkost @ 2019-06-11 21:20 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: Paolo Bonzini, Richard Henderson, qemu-devel, Marc-André Lureau

On Fri, Jun 07, 2019 at 02:45:01PM +0200, Markus Armbruster wrote:
> Paolo Bonzini <pbonzini@redhat.com> writes:
> 
> > On 07/06/19 10:25, Markus Armbruster wrote:
> >> Paolo Bonzini <pbonzini@redhat.com> writes:
> >> 
> >>> On 23/05/19 18:14, Markus Armbruster wrote:
> >>>> * Machine core (Eduardo, Marcel)
> >>>>
> >>>>   query-machines, query-current-machine, 
> >>>>
> >>>>   ~60 lines.  Hardly worthwhile from a "let's shrink misc.json" point of
> >>>>   view.  Might be worthwhile from a "let's make get_maintainers.pl
> >>>>   work".
> >>>>
> >>>> * CPUs (Paolo, Richard)
> >>>>
> >>>>   query-cpus, query-cpus-fast
> >>>>
> >>>>   ~300 lines.  The commands are implemented in cpus.c, which MAINTAINERS
> >>>>   covers both under "Main loop" and under "Guest CPU cores (TCG) /
> >>>>   Overall".  Neither feels right to me for these QMP commands.
> >>>>
> >>>> * NUMA (Eduardo)
> >>>>
> >>>>   query-memdev, set-numa-node
> >>>>
> >>>>   ~200 lines.
> >>>
> >>> I would move all three of these and add a new entry to MAINTAINERS.
> >> 
> >> Double-checking: do you propose to move all three to a single new QAPI
> >> module, with a new MAINTAINERS entry covering just the new QAPI module?
> >> If yes, care to propose a QAPI module file name, a MAINTAINERS head
> >> line, and maintainers?
> >
> > Just one, qapi/machine.json, with a MAINTAINERS patch based on this one.
> 
> Okay, I'd like to take care of that.
> 
> >  We could probably create a new directory hw/machine too.
> 
> I'd prefer to leave that to you, because making you explain to me what
> exactly you want moved is likely more work for both of us :)
> 
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index a96829ea83..9bf3e6b670 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -1274,8 +1274,12 @@ S: Supported
> >  F: hw/core/machine.c
> >  F: hw/core/null-machine.c
> >  F: hw/cpu/cluster.c
> > +F: numa.c
> > +F: qom/cpu.c
> >  F: include/hw/boards.h
> >  F: include/hw/cpu/cluster.h
> > +F: include/qom/cpu.h
> > +F: include/sysemu/numa.h
> >  T: git https://github.com/ehabkost/qemu.git machine-next
> >
> >  Xtensa Machines
> > @@ -1839,12 +1843,6 @@ M: Markus Armbruster <armbru@redhat.com>
> >  S: Supported
> >  F: scripts/coverity-model.c
> >
> > -CPU
> > -L: qemu-devel@nongnu.org
> > -S: Supported
> > -F: qom/cpu.c
> > -F: include/qom/cpu.h
> > -
> >  Device Tree
> >  M: Alistair Francis <alistair.francis@wdc.com>
> >  R: David Gibson <david@gibson.dropbear.id.au>
> > @@ -1947,13 +1945,6 @@ W: http://info.iet.unipi.it/~luigi/netmap/
> >  S: Maintained
> >  F: net/netmap.c
> >
> > -NUMA
> > -M: Eduardo Habkost <ehabkost@redhat.com>
> > -S: Maintained
> > -F: numa.c
> > -F: include/sysemu/numa.h
> > -T: git https://github.com/ehabkost/qemu.git machine-next
> > -
> >  Host Memory Backends
> >  M: Eduardo Habkost <ehabkost@redhat.com>
> >  M: Igor Mammedov <imammedo@redhat.com>
> 
> This merges MAINTAINERS section "NUMA" into "Machine core" (with section
> "CPU" thrown in for good measure).  Moving their QAPI schema bits from
> misc.json to new machine.json then makes sense.  Good.
> 
> The part I'm unsure about is item "CPUs" from my list, i.e. query-cpus
> and query-cpus-fast.  If I move these QAPI schema bits to machine.json
> as well, then the QAPI schema for query-cpus, query-cpus-fast is covered
> by section "Machine core", while the C code (in cpus.c) is covered by
> "Main loop" and "Guest CPU cores (TCG) / Overall".  I hate that.  Would
> you like me to try moving the C code out of cpus.c so it can be covered
> by "Machine core"?

Some portions of cpus.c seem to belong to qom/cpu.c, other
portions seem to belong to hw/core/machine.c, others to accel/*.
To be honest, I don't really know what kind of code would really
belong to cpus.c (the comment block at the top just says "QEMU
System Emulator").  Cleaning this up would be very welcome.

In other words: yes, if you try to move the QMP query-cpu* code
outside cpus.c to Machine Core, I wouldn't mind at all.

-- 
Eduardo


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2019-06-11 21:23 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-23 16:14 [Qemu-devel] qapi/misc.json is too big, let's bite off a few chunks Markus Armbruster
2019-05-24 18:31 ` Paolo Bonzini
2019-06-07  8:25   ` Markus Armbruster
2019-06-07 11:35     ` Paolo Bonzini
2019-06-07 12:45       ` Markus Armbruster
2019-06-11 21:20         ` Eduardo Habkost
2019-05-24 18:53 ` Eduardo Habkost
2019-05-27  8:00   ` Markus Armbruster
2019-05-27 10:03     ` Paolo Bonzini
2019-05-28 19:37       ` Eduardo Habkost
2019-06-07  6:59       ` Markus Armbruster
2019-06-07  8:33         ` Philippe Mathieu-Daudé
2019-06-07 12:25           ` Markus Armbruster
2019-06-07  9:59         ` Daniel P. Berrangé

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.