Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2018-11-26 Thread Markus Armbruster
Thomas Huth  writes:

> On 2018-11-21 19:14, Markus Armbruster wrote:
>> Time for another update.  My HEAD is at v3.1.0-rc2.
>
> Thanks a lot for this, Markus, very appreciated!
>
> [...]
>> Unmaintained files sorted by number of commits in the past year
>> (v2.11.0-rc2):
>> 
>> $ for i in `cat unmaintained-files`; do echo -n "$i "; git-rev-list 
>> v2.11.0-rc2.. $i | wc -l; done | awk '{ printf "%7d %s\n", $2, $1 }' | sort 
>> -rn | head -n 100
>> 139 MAINTAINERS
>> 138 configure
>> 108 tests/Makefile.include
>>  87 qemu-options.hx
>
> I still think we'd need someone to look after qemu-options.hx, since
> these are public interfaces...

QAPIfication to the rescue...

[...]
>> qdev needs a maintainer.  It has needed one since forever.
>
> Definitely. But who could do that job?

I'm afraid most (all?) candidates that have the experience lack the
bandwidth.  I certainly do.  Let's ask git:

$ scripts/get_maintainer.pl -f hw/core/qdev.c
get_maintainer.pl: No maintainers found, printing recent contributors.
get_maintainer.pl: Do not blindly cc: them on patches!  Use common sense.

Markus Armbruster  (commit_signer:8/14=57%)
"Philippe Mathieu-Daudé"  (commit_signer:6/14=43%)
Paolo Bonzini  (commit_signer:5/14=36%)
Eric Blake  (commit_signer:4/14=29%)
Laurent Vivier  (commit_signer:2/14=14%)
qemu-devel@nongnu.org (open list:All patches CC here)
$ scripts/get_maintainer.pl -f --git-blame hw/core/qdev.c
Anthony Liguori  (authored 
lines:170/1114=15%,commits:49/158=31%)
Peter Crosthwaite  (authored 
lines:149/1114=13%)
Paolo Bonzini  (authored 
lines:112/1114=10%,commits:49/158=31%)
Igor Mammedov  (authored lines:72/1114=6%)
Paul Brook  (authored lines:65/1114=6%)
"Andreas Färber"  (commits:50/158=32%)
Markus Armbruster  (commits:27/158=17%)
"Michael S. Tsirkin"  (commits:27/158=17%)
qemu-devel@nongnu.org (open list:All patches CC here)

Any takers?



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2018-11-23 Thread Philippe Mathieu-Daudé
On 23/11/18 11:56, BALATON Zoltan wrote:
> On Fri, 23 Nov 2018, Philippe Mathieu-Daudé wrote:
>> On 22/11/18 22:56, BALATON Zoltan wrote:
>>> While we're there, should I also add pc-bios/canyonlands.dts which is
>>> the device tree for sam460ex?
>>
>> Yes, I suggest this set:
>>
>> pc-bios/canyonlands.dt?
>> pc-bios/u-boot-sam460*
>> roms/u-boot-sam460ex
> 
> Well, canyonlands.dtb and u-boot-sam460-*.bin are binaries built from
> canyonlands.dts and roms/u-boot-sam460ex respectively and
> roms/u-boot-sam460ex is mirrored from my git repo. So should these be
> added despite of this or is it enough to add canyonlands.dts? I thought
> only sources are listed in MAINTAINERS not binaries or external sources.

Hmm I see various binaries, i.e.:

$ file pc-bios/s390-ccw.img
pc-bios/s390-ccw.img: ELF 64-bit MSB shared object, IBM S/390, version 1
(SYSV), dynamically linked, interpreter /lib/ld64.so.1,
BuildID[sha1]=5bf569bf2205ea94a015c1fe2702d7efb446a8c5, stripped
$ ./scripts/get_maintainer.pl -f pc-bios/s390-ccw.img
Christian Borntraeger  (supporter:S390-ccw boot)
Thomas Huth  (supporter:S390-ccw boot)
Cornelia Huck  (supporter:S390)
qemu-s3...@nongnu.org (open list:S390-ccw boot)

$ file pc-bios/u-boot.e500
pc-bios/u-boot.e500: ELF 32-bit MSB executable, PowerPC or cisco 4500,
version 1 (SYSV), statically linked, stripped
$ ./scripts/get_maintainer.pl -f pc-bios/u-boot.e500
David Gibson  (odd fixer:e500)
qemu-...@nongnu.org (open list:e500)

If I have issues with a binary like 'canyonlands.dtb' I'd like to be
able to contact the maintainer. Maybe this is not the best example since
the 'canyonlands.dts' is there too ;)

Regards,

Phil.



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2018-11-23 Thread BALATON Zoltan

On Fri, 23 Nov 2018, Philippe Mathieu-Daudé wrote:

On 22/11/18 22:56, BALATON Zoltan wrote:

While we're there, should I also add pc-bios/canyonlands.dts which is
the device tree for sam460ex?


Yes, I suggest this set:

pc-bios/canyonlands.dt?
pc-bios/u-boot-sam460*
roms/u-boot-sam460ex


Well, canyonlands.dtb and u-boot-sam460-*.bin are binaries built from 
canyonlands.dts and roms/u-boot-sam460ex respectively and 
roms/u-boot-sam460ex is mirrored from my git repo. So should these be 
added despite of this or is it enough to add canyonlands.dts? I thought 
only sources are listed in MAINTAINERS not binaries or external sources.


Regards,
BALATON Zoltan


Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2018-11-22 Thread Philippe Mathieu-Daudé
Hi Zoltan,

On 22/11/18 22:56, BALATON Zoltan wrote:
> On Thu, 22 Nov 2018, Thomas Huth wrote:
>>>  19 hw/display/sm501.c
>>
>> Maybe Balaton wants to adopt this file?
> 
> As discussed before this was originally part of SH4 but since that seems
> to be not actively maintained any more and latest changes were for
> sam460ex I can add it to sam460ex. I planned to do that when I make any
> changes in the future but if needed I can send a patch for this now.
> 
> While we're there, should I also add pc-bios/canyonlands.dts which is
> the device tree for sam460ex?

Yes, I suggest this set:

pc-bios/canyonlands.dt?
pc-bios/u-boot-sam460*
roms/u-boot-sam460ex

Regards,

Phil.



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2018-11-22 Thread BALATON Zoltan

On Thu, 22 Nov 2018, Thomas Huth wrote:

 19 hw/display/sm501.c


Maybe Balaton wants to adopt this file?


As discussed before this was originally part of SH4 but since that seems 
to be not actively maintained any more and latest changes were for 
sam460ex I can add it to sam460ex. I planned to do that when I make any 
changes in the future but if needed I can send a patch for this now.


While we're there, should I also add pc-bios/canyonlands.dts which is the 
device tree for sam460ex?


Regards,
BALATON Zoltan



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2018-11-22 Thread Thomas Huth
On 2018-11-21 19:14, Markus Armbruster wrote:
> Time for another update.  My HEAD is at v3.1.0-rc2.

Thanks a lot for this, Markus, very appreciated!

[...]
> Unmaintained files sorted by number of commits in the past year
> (v2.11.0-rc2):
> 
> $ for i in `cat unmaintained-files`; do echo -n "$i "; git-rev-list 
> v2.11.0-rc2.. $i | wc -l; done | awk '{ printf "%7d %s\n", $2, $1 }' | sort 
> -rn | head -n 100
> 139 MAINTAINERS
> 138 configure
> 108 tests/Makefile.include
>  87 qemu-options.hx

I still think we'd need someone to look after qemu-options.hx, since
these are public interfaces...

>  62 qemu-doc.texi
>  56 Makefile
>  44 tests/test-bdrv-drain.c
>  26 tests/test-blockjob.c
>  24 Makefile.objs
>  22 VERSION
>  21 tests/test-blockjob-txn.c
>  21 scripts/checkpatch.pl
>  20 default-configs/arm-softmmu.mak

Maybe add that to one of Peter's ARM sections?

>  19 hw/display/sm501.c

Maybe Balaton wants to adopt this file?

>  17 hw/misc/Makefile.objs
>  16 include/sysemu/sysemu.h
>  15 include/hw/mem/pc-dimm.h
>  15 hw/sd/trace-events
>  15 contrib/libvhost-user/libvhost-user.c
>  14 tests/test-char.c
>  14 hw/core/qdev.c
>  13 scripts/update-linux-headers.sh
>  13 scripts/device-crash-test

That should go into the "Python scripts" section.

>  13 hw/display/Makefile.objs
>  13 .gitignore
>  12 include/qom/cpu.h
>  12 include/hw/mem/memory-device.h
>  12 include/elf.h
>  12 hw/misc/trace-events
>  12 default-configs/ppc-softmmu.mak
>  11 util/qht.c
>  10 util/memfd.c
>  10 qdev-monitor.c
>  10 include/sysemu/blockdev.h
>  10 include/qapi/qmp/dispatch.h
>  10 hw/misc/ivshmem.c
>  10 gdbstub.c
>  10 docs/devel/testing.rst
>   9 tests/check-qobject.c
>   9 include/qemu/osdep.h
>   9 include/hw/compat.h
>   9 contrib/libvhost-user/libvhost-user.h
>   8 util/qemu-config.c
>   8 util/Makefile.objs
>   8 linux-headers/linux/kvm.h
>   8 iothread.c
>   8 include/qemu/timer.h
>   8 include/qemu/qht.h
>   8 include/hw/qdev-properties.h
>   8 include/hw/pci-host/uninorth.h

uninorth is definitely related to mac99.

>   8 hw/intc/trace-events
>   8 hw/hyperv/hyperv.c
>   8 hw/core/loader.c
>   7 util/qsp.c
>   7 tests/test-qht.c
>   7 tests/.gitignore
>   7 os-posix.c
>   7 include/qemu/compiler.h
>   7 include/monitor/monitor.h
>   7 include/hw/qdev-core.h
>   7 include/hw/loader.h
>   7 include/hw/arm/smmu-common.h
>   7 docs/qcow2-cache.txt
>   7 default-configs/i386-softmmu.mak
>   7 Makefile.target
>   7 .gitmodules
>   6 tests/check-qlit.c
>   6 pc-bios/README
>   6 include/sysemu/arch_init.h
>   6 include/qemu/thread.h
>   6 include/qemu/memfd.h
>   6 include/hw/ssi/xilinx_spips.h

That belongs to one of the ARM machines, I think.

>   6 include/hw/hyperv/hyperv.h
>   6 include/hw/block/block.h
>   6 hw/nvram/fw_cfg.c
>   6 hw/input/ps2.c
>   6 docs/nvdimm.txt
>   6 docs/interop/qmp-spec.txt
>   6 device-hotplug.c
>   6 default-configs/x86_64-softmmu.mak
>   5 win_dump.c
>   5 util/uri.c
>   5 util/qemu-thread-posix.c
>   5 util/oslib-posix.c
>   5 tests/test-x86-cpuid-compat.c
>   5 tests/test-rcu-list.c
>   5 tests/tcg/README
>   5 tests/migration/Makefile
>   5 rules.mak
>   5 roms/openbios
>   5 pc-bios/openbios-ppc
>   5 linux-headers/asm-x86/kvm.h
>   5 linux-headers/asm-powerpc/kvm.h
>   5 include/standard-headers/linux/pci_regs.h
>   5 include/qemu/typedefs.h
>   5 include/qemu/cutils.h
>   5 include/hw/misc/iotkit-secctl.h
>   5 hw/watchdog/watchdog.c
>   5 hw/sd/ssi-sd.c
>   5 hw/pci-host/bonito.c

Bonito seems to belong to MIPS Fulong.

> qdev needs a maintainer.  It has needed one since forever.

Definitely. But who could do that job?

 Thomas



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2018-11-21 Thread Markus Armbruster
Time for another update.  My HEAD is at v3.1.0-rc2.

Markus Armbruster  writes:

> Markus Armbruster  writes:
>
>> Paolo asked for an update.
>
> Another update; HEAD is commit e00da55.

A.k.a. v2.7.0-rc5~7.

>> Markus Armbruster  writes:
>>
>>> Markus Armbruster  writes:
>>>
 In my experience, too many files are not covered by MAINTAINERS.
 scripts/get_maintainer.pl falls back to git then, unless you say
 --no-git-fallback.  Copies sent there tends to annoy their recipients
 without accomplishing all that much.

 Two obvious improvements:

 * Easy: Flip scripts/get_maintainer.pl's default to --no-git-fallback.
   I'll post the obvious patch, please raise your objections there.

We actually went with Paolo's commit c6561586f0f "get_maintainer.pl:
restrict cases where it falls back to --git".  Later modified by commit
4db84796e75 "get_maintainer.pl: fall back to git if only lists are
found".

 * Harder: improve MAINTAINERS coverage.
>>>
>>> A few folks have started doing that.  Much appreciated!
>>>
>>> I collected recent patches to MAINTAINERS, and reran my analysis.
>>>
 Let me back up subjective experience with hard data.  The tree has quite
 a few files:

 $ git-ls-files | wc -l
 3746
>>>
>>> Now 3752.
>>
>> Eleven months later, this is 4387.
>
> Another eleven months later, it's 4921.

27 months later, it's 6461.  2633 end in .c.

 Counting them by extension:

 $ git-ls-files | sed -n 's#.*/##;s#.*\.##p' | sort | uniq -c | sort -nr
1836 c
 818 h
 133 out
 105 S
  97 objs
  69 s
  64 mak
  48 json
  47 py
  41 txt
  33 exit
  33 err
  16 xml
  16 bin
  13 rom
  12 sh
  12 dsl
 [Long tail that doesn't add up to anything interesting omitted]

 Let's look for .c not in MAINTAINERS:

 $ for i in `git-ls-files`; do [ "`scripts/get_maintainer.pl -f 
 --no-git-fallback $i`" ] || echo $i; done >unmaintained-files
 $ grep -c '\.c$' unmaintained-files
 1066

 That's almost 60%.  Not good.
>>>
>>> Down to 491 our of 1841 (27%).  Progress, but not quite enough.
>>
>> 461 out of 1945 (24%).  At this linear rate, we'll reach 10%
>> unmaintained in five years.
>
> This is now
>
> $ for i in `git-ls-files`; do [ "`scripts/get_maintainer.pl -f 
> --no-git-fallback $i | grep -v '^qemu-devel@nongnu\.org'`" ] || echo $i; done 
> >unmaintained-files
> $ grep -c '\.c$' unmaintained-files
> 402
>
> 402 out of 2132 (19%).  More progress, but not yet there.

armbru@dusky:~/work/qemu$ for i in `git-ls-files`; do [ 
"`scripts/get_maintainer.pl -f --no-git-fallback $i | grep -v 
'^qemu-devel@nongnu\.org'`" ] || echo $i; done >unmaintained-files
armbru@dusky:~/work/qemu$ grep -c '\.c$' unmaintained-files
259

259 out of 2633 (10%).  Getting down to 10% took us "only" a bit over
three years instead of the projected five.

>> We're still adding unmaintained .c files:
>>
>> $ git-diff --diff-filter=A --name-only e668d1b | grep -c '\.c$'
>> 116
>> $ git-diff --diff-filter=A --name-only e668d1b | grep '\.c$' | join 
>> unmaintained-files - | wc -l
>> 37
>>
>> 37 out of 116 new files (32%) are not covered.  That's worse than we do
>> for old files.  Inexcusable.
>
> $ git-diff --diff-filter=A --name-only 6138fbd | grep -c '\.c$'
> 215
> $ git-diff --diff-filter=A --name-only 6138fbd | grep '\.c$' | join 
> unmaintained-files - | wc -l
> 86
>
> This time, it's 86 out of 215 (40%).  Getting worse.  I'll cook up a
> patch to make checkpatch.pl catch such additions.

We eventually took Joe Perches's commit 4be6131e329 "checkpatch: emit a
warning on file add/move".

$ git-diff --diff-filter=A --name-only e00da55 | grep -c '\.c$'
574
$ git-diff --diff-filter=A --name-only e00da55 | grep '\.c$' | join 
unmaintained-files - | wc -l
68

68 out of 574 new .c files are unmaintained (12%).  We've gotten better,
but still not good enough.

 Apparently, nobody cares for tests:

 $ grep '^tests/' unmaintained-files | grep -c '\.c$'
 654
 $ git-ls-files | grep '^tests/' | grep -c '\.c$'
 664
>>>
>>> Now 91 out of 665.
>>
>> 105 out of 687.
>
> 114 out of 726.

59 out of 794.

 Filtering those out leaves us with 412 unmaintained out of of 1172, or
 35% unmaintained.  Not good even if we (foolishly!) considered tests not
 worthy of maintenance.

 Maybe unmaintained files are much smaller.  David A.  Wheeler's
 SLOCCount counts 570kSLOC in 1212 maintained files (+140 files sloccount
 doesn't know how to count) vs. 300kSLOC in 1798 unmaintained files (+596
 uncounted), or 35% unmaintained SLOC.  With tests/ ignored, it's 30%.
 So, unmaintained files are indeed smaller, but 30-something percent is
 still not good.

 Where are 

Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2016-09-23 Thread Thomas Huth
On 23.09.2016 14:56, Thomas Huth wrote:
> On 30.08.2016 13:31, Markus Armbruster wrote:
> [...]
> Ideas?  Takers?

 Full list of unmaintained files now:
> [...]
>> hw/misc/applesmc.c
> 
> Is this file used at all anymore? I can't see any code that instantiates
> this device ... so maybe that's a good candidate for clean-up, unless
> somebody volunteers for maintaining this device?

Ok, never mind, looks like you need to instantiate this device manually
if you want to run OS X on QEMU. So it's still needed, I guess.

 Thomas




Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2016-09-23 Thread Thomas Huth
On 30.08.2016 13:31, Markus Armbruster wrote:
[...]
 Ideas?  Takers?
>>>
>>> Full list of unmaintained files now:
[...]
> hw/misc/applesmc.c

Is this file used at all anymore? I can't see any code that instantiates
this device ... so maybe that's a good candidate for clean-up, unless
somebody volunteers for maintaining this device?

 Thomas




Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2016-09-12 Thread Thomas Huth
On 30.08.2016 13:31, Markus Armbruster wrote:
> Markus Armbruster  writes:
> 
>> Paolo asked for an update.
> 
> Another update; HEAD is commit e00da55.
[...]
>>> Full list of unmaintained files now:
[...]
> default-configs/aarch64-linux-user.mak
> default-configs/aarch64-softmmu.mak
> default-configs/alpha-linux-user.mak
> default-configs/alpha-softmmu.mak
> default-configs/arm-linux-user.mak
> default-configs/arm-softmmu.mak
> default-configs/armeb-linux-user.mak
> default-configs/cris-linux-user.mak
> default-configs/cris-softmmu.mak
> default-configs/i386-bsd-user.mak
> default-configs/i386-linux-user.mak
> default-configs/i386-softmmu.mak
> default-configs/lm32-softmmu.mak
> default-configs/m68k-linux-user.mak
> default-configs/m68k-softmmu.mak
> default-configs/microblaze-linux-user.mak
> default-configs/microblaze-softmmu.mak
> default-configs/microblazeel-linux-user.mak
> default-configs/microblazeel-softmmu.mak
> default-configs/mips-linux-user.mak
> default-configs/mips-softmmu-common.mak
> default-configs/mips-softmmu.mak
> default-configs/mips64-linux-user.mak
> default-configs/mips64-softmmu.mak
> default-configs/mips64el-linux-user.mak
> default-configs/mips64el-softmmu.mak
> default-configs/mipsel-linux-user.mak
> default-configs/mipsel-softmmu.mak
> default-configs/mipsn32-linux-user.mak
> default-configs/mipsn32el-linux-user.mak
> default-configs/moxie-softmmu.mak
> default-configs/or32-linux-user.mak
> default-configs/or32-softmmu.mak
> default-configs/pci.mak
> default-configs/ppc-linux-user.mak
> default-configs/ppc-softmmu.mak
> default-configs/ppc64-linux-user.mak
> default-configs/ppc64-softmmu.mak
> default-configs/ppc64abi32-linux-user.mak
> default-configs/ppc64le-linux-user.mak
> default-configs/ppcemb-softmmu.mak
> default-configs/s390x-linux-user.mak
> default-configs/s390x-softmmu.mak
> default-configs/sh4-linux-user.mak
> default-configs/sh4-softmmu.mak
> default-configs/sh4eb-linux-user.mak
> default-configs/sh4eb-softmmu.mak
> default-configs/sound.mak
> default-configs/sparc-bsd-user.mak
> default-configs/sparc-linux-user.mak
> default-configs/sparc-softmmu.mak
> default-configs/sparc32plus-linux-user.mak
> default-configs/sparc64-bsd-user.mak
> default-configs/sparc64-linux-user.mak
> default-configs/sparc64-softmmu.mak
> default-configs/tilegx-linux-user.mak
> default-configs/tricore-softmmu.mak
> default-configs/unicore32-linux-user.mak
> default-configs/unicore32-softmmu.mak
> default-configs/usb.mak
> default-configs/x86_64-bsd-user.mak
> default-configs/x86_64-linux-user.mak
> default-configs/x86_64-softmmu.mak
> default-configs/xtensa-softmmu.mak
> default-configs/xtensaeb-softmmu.mak

Any ideas how to put the default-configs into the MAINTAINERS file? Most
of them neither really belong to a certain machine, nor to a certain
CPU, but rather to both ... i.e. should there be an entry in both sections?

[...]
> po/bg.po
> po/de_DE.po
> po/fr_FR.po
> po/hu.po
> po/it.po
> po/messages.po
> po/tr.po
> po/zh_CN.po

I think the po files have kind of a maintainer - the person who's listed
in the "Last-Translator:" section of the header there. Maybe we
could/should teach get_maintainer.pl to look at that header?

> replay/Makefile.objs
> replay/replay-char.c
> replay/replay-events.c
> replay/replay-input.c
> replay/replay-internal.c
> replay/replay-internal.h
> replay/replay-time.c
> replay/replay.c

Maybe Pavel Dovgalyuk could maintain those?

 Thomas





Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2016-08-31 Thread Markus Armbruster
I really shouldn't reply to this, because more maintainer duties is
about the last thing I need, but here goes anyway:

Paolo Bonzini  writes:

> On 30/08/2016 17:29, Markus Armbruster wrote:
>> > > > Active subsystems lacking a maintainer include tilegx, qdev, replay.
>> > > 
>> > > You, Eduardo, me?
>> >
>> > FWIW I was referring to qdev.
>>
>> Jointly?
>
> A subset not including me would also be fine.  But since the git
> fallback still exists, and the code is _obviously_ maintained, I don't
> think there is a particular hurry to add new people to the list.
> Maintainers are most useful when there are a lot of simple patches, not
> when each patch's design must be discussed in the community.

Even then, having someone "own" the discussion is useful: make sure it
happens, and stays on track.

Moreover, not *all* qdev patches need wider discussion.  You're doing a
good job picking up such patches to "unmaintained" code.  Still, having
less "unmaintained" code can only make that job easier.

Last but not least,

$ scripts/get_maintainer.pl -f hw/core/qdev.c 
get_maintainer.pl: No maintainers found, printing recent contributors.
get_maintainer.pl: Do not blindly cc: them on patches!  Use common sense.

Markus Armbruster  (commit_signer:4/12=33%)
David Gibson  (commit_signer:4/12=33%)
Eric Blake  (commit_signer:3/12=25%)
Igor Mammedov  (commit_signer:2/12=17%)
"Andreas Färber"  (commit_signer:2/12=17%)
qemu-devel@nongnu.org (open list:All patches CC here)

must look scary for contributors who don't know that qdev "is
_obviously_ maintained".



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2016-08-30 Thread John Snow



On 08/30/2016 08:57 AM, Peter Maydell wrote:

On 30 August 2016 at 13:48, Paolo Bonzini  wrote:

I think this is expected to some extent.  Is it worth moving tests to
many tests subdirectories, e.g. hw/scsi/tests?  Many files would be
covered automatically.


Moving tests around in order to increase MAINTAINERS coverage
seems to me to be putting the cart before the horse. I think
the tests are fine where they are.



In this case, it's not like we'll ever have a generic tests maintainer. 
Putting tests in with their subsystems makes some organizational sense. 
(Maybe it makes the Makefile and test suite a lot uglier, though.)


It's a minor thing for now anyway. First order of business is the 
checkpatch script that squawks about new unmaintained files.


--js


thanks
-- PMM





Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2016-08-30 Thread Paolo Bonzini


On 30/08/2016 17:29, Markus Armbruster wrote:
> > > > Active subsystems lacking a maintainer include tilegx, qdev, replay.
> > > 
> > > You, Eduardo, me?
> >
> > FWIW I was referring to qdev.
>
> Jointly?

A subset not including me would also be fine.  But since the git
fallback still exists, and the code is _obviously_ maintained, I don't
think there is a particular hurry to add new people to the list.
Maintainers are most useful when there are a lot of simple patches, not
when each patch's design must be discussed in the community.

Paolo



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2016-08-30 Thread Markus Armbruster
Paolo Bonzini  writes:

> On 30/08/2016 14:48, Paolo Bonzini wrote:
>> > Active subsystems lacking a maintainer include tilegx, qdev, replay.
>> 
>> You, Eduardo, me?
>
> FWIW I was referring to qdev.

Jointly?

[...]



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2016-08-30 Thread Paolo Bonzini


On 30/08/2016 14:48, Paolo Bonzini wrote:
> > Active subsystems lacking a maintainer include tilegx, qdev, replay.
> 
> You, Eduardo, me?

FWIW I was referring to qdev.

As to replay, it is mostly by Pavel but the remaining changes would need
review by the relevant maintainers (e.g. USB for USB replay) so it's
best left unmaintained.

Paolo



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2016-08-30 Thread Cornelia Huck
On Tue, 30 Aug 2016 13:31:12 +0200
Markus Armbruster  wrote:

> >> Full list of unmaintained files now:

> docs/virtio-migration.txt

I wrote this so I guess I could maintain it; but it should probably go
with the other core virtio stuff?

> default-configs/s390x-softmmu.mak
> include/hw/watchdog/wdt_diag288.h
> pc-bios/s390-ccw.img

These can go with the s390 virtio-ccw machine.




Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2016-08-30 Thread Cornelia Huck
On Tue, 30 Aug 2016 14:40:05 +0200
Paolo Bonzini  wrote:

> On 30/08/2016 14:26, Cornelia Huck wrote:
> > Same goes for linux-headers. We don't even touch those (beyond the
> > massaging done by the import script).
> > 
> > Maybe we could make get_maintainers.pl point at the maintainer for
> > the import script for these headers? Or is there something more
> > clever we could do?
> 
> We need a "maintainer" for imported headers and then MAINTAINERS can do
> 
> F: scripts/update-linux-headers.sh
> F: linux-headers/
> F: includes/standard-headers/

Sounds reasonable. As I have stared at that script before, I can do
that unless someone else wants to take it.




Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2016-08-30 Thread Peter Maydell
On 30 August 2016 at 13:48, Paolo Bonzini  wrote:
> I think this is expected to some extent.  Is it worth moving tests to
> many tests subdirectories, e.g. hw/scsi/tests?  Many files would be
> covered automatically.

Moving tests around in order to increase MAINTAINERS coverage
seems to me to be putting the cart before the horse. I think
the tests are fine where they are.

thanks
-- PMM



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2016-08-30 Thread Paolo Bonzini


On 30/08/2016 13:31, Markus Armbruster wrote:
> $ for i in `git-ls-files`; do [ "`scripts/get_maintainer.pl -f 
> --no-git-fallback $i | grep -v '^qemu-devel@nongnu\.org'`" ] || echo $i; done 
> >unmaintained-files
> $ grep -c '\.c$' unmaintained-files
> 402
> 
> 402 out of 2132 (19%).  More progress, but not yet there.

Not bad.

> $ git-diff --diff-filter=A --name-only 6138fbd | grep -c '\.c$'
> 215
> $ git-diff --diff-filter=A --name-only 6138fbd | grep '\.c$' | join 
> unmaintained-files - | wc -l
> 86
> 
> This time, it's 86 out of 215 (40%).  Getting worse.  I'll cook up a
> patch to make checkpatch.pl catch such additions.

Good idea.

 Apparently, nobody cares for tests:

 $ grep '^tests/' unmaintained-files | grep -c '\.c$'
 654
 $ git-ls-files | grep '^tests/' | grep -c '\.c$'
 664
>>>
>>> Now 91 out of 665.
>>
>> 105 out of 687.
> 
> 114 out of 726.

I think this is expected to some extent.  Is it worth moving tests to
many tests subdirectories, e.g. hw/scsi/tests?  Many files would be
covered automatically.

> Active subsystems lacking a maintainer include tilegx, qdev, replay.

You, Eduardo, me?

> Headers that should probably be covered by existing MAINTAINERS stanzas
> include include/sysemu/block-backend.h include/qom/cpu.h
> include/hw/arm/xlnx-zynqmp.h.

Also:

hw/intc/gic* (ARM)
hw/*/mips* (MIPS)
hw/*/slavio* (SPARC)
libdecnumber/ (target-ppc/)

etc.

Any kind soul that converts the Coverity components into MAINTAINERS
patches?

Paolo



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2016-08-30 Thread Paolo Bonzini


On 30/08/2016 14:26, Cornelia Huck wrote:
> Same goes for linux-headers. We don't even touch those (beyond the
> massaging done by the import script).
> 
> Maybe we could make get_maintainers.pl point at the maintainer for
> the import script for these headers? Or is there something more
> clever we could do?

We need a "maintainer" for imported headers and then MAINTAINERS can do

F: scripts/update-linux-headers.sh
F: linux-headers/
F: includes/standard-headers/

Paolo



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2016-08-30 Thread Cornelia Huck
On Tue, 30 Aug 2016 13:31:12 +0200
Markus Armbruster  wrote:

> >> Full list of unmaintained files now:

(...)

> include/standard-headers/asm-s390/kvm_virtio.h
> include/standard-headers/asm-s390/virtio-ccw.h
> include/standard-headers/asm-x86/hyperv.h
> include/standard-headers/linux/if_ether.h
> include/standard-headers/linux/input-event-codes.h
> include/standard-headers/linux/input.h
> include/standard-headers/linux/pci_regs.h
> include/standard-headers/linux/types.h
> include/standard-headers/linux/virtio_9p.h
> include/standard-headers/linux/virtio_balloon.h
> include/standard-headers/linux/virtio_blk.h
> include/standard-headers/linux/virtio_config.h
> include/standard-headers/linux/virtio_console.h
> include/standard-headers/linux/virtio_gpu.h
> include/standard-headers/linux/virtio_ids.h
> include/standard-headers/linux/virtio_input.h
> include/standard-headers/linux/virtio_net.h
> include/standard-headers/linux/virtio_pci.h
> include/standard-headers/linux/virtio_ring.h
> include/standard-headers/linux/virtio_rng.h
> include/standard-headers/linux/virtio_scsi.h
> include/standard-headers/linux/virtio_types.h

I don't think standard-headers can really be 'maintained', as they are
essentially imported by a script. And while there's a certain overlap,
the maintainer of a Linux header file is not neccessarily a qemu
developer.

(...)

> linux-headers/COPYING
> linux-headers/README
> linux-headers/asm-arm/kvm.h
> linux-headers/asm-arm/kvm_para.h
> linux-headers/asm-arm/unistd.h
> linux-headers/asm-arm64/kvm.h
> linux-headers/asm-arm64/kvm_para.h
> linux-headers/asm-arm64/unistd.h
> linux-headers/asm-generic/kvm_para.h
> linux-headers/asm-mips/kvm.h
> linux-headers/asm-mips/kvm_para.h
> linux-headers/asm-mips/unistd.h
> linux-headers/asm-powerpc/epapr_hcalls.h
> linux-headers/asm-powerpc/kvm.h
> linux-headers/asm-powerpc/kvm_para.h
> linux-headers/asm-powerpc/unistd.h
> linux-headers/asm-s390/kvm.h
> linux-headers/asm-s390/kvm_para.h
> linux-headers/asm-s390/unistd.h
> linux-headers/asm-x86/hyperv.h
> linux-headers/asm-x86/kvm.h
> linux-headers/asm-x86/kvm_para.h
> linux-headers/asm-x86/unistd.h
> linux-headers/asm-x86/unistd_32.h
> linux-headers/asm-x86/unistd_64.h
> linux-headers/asm-x86/unistd_x32.h
> linux-headers/linux/kvm.h
> linux-headers/linux/kvm_para.h
> linux-headers/linux/psci.h
> linux-headers/linux/userfaultfd.h
> linux-headers/linux/vfio.h
> linux-headers/linux/vhost.h
> linux-headers/linux/virtio_config.h
> linux-headers/linux/virtio_ring.h

Same goes for linux-headers. We don't even touch those (beyond the
massaging done by the import script).

Maybe we could make get_maintainers.pl point at the maintainer for
the import script for these headers? Or is there something more
clever we could do?




Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2016-08-30 Thread Markus Armbruster
Markus Armbruster  writes:

> Paolo asked for an update.

Another update; HEAD is commit e00da55.

> Markus Armbruster  writes:
>
>> Markus Armbruster  writes:
>>
>>> In my experience, too many files are not covered by MAINTAINERS.
>>> scripts/get_maintainer.pl falls back to git then, unless you say
>>> --no-git-fallback.  Copies sent there tends to annoy their recipients
>>> without accomplishing all that much.
>>>
>>> Two obvious improvements:
>>>
>>> * Easy: Flip scripts/get_maintainer.pl's default to --no-git-fallback.
>>>   I'll post the obvious patch, please raise your objections there.
>>>
>>> * Harder: improve MAINTAINERS coverage.
>>
>> A few folks have started doing that.  Much appreciated!
>>
>> I collected recent patches to MAINTAINERS, and reran my analysis.
>>
>>> Let me back up subjective experience with hard data.  The tree has quite
>>> a few files:
>>>
>>> $ git-ls-files | wc -l
>>> 3746
>>
>> Now 3752.
>
> Eleven months later, this is 4387.

Another eleven months later, it's 4921.

>>> Counting them by extension:
>>>
>>> $ git-ls-files | sed -n 's#.*/##;s#.*\.##p' | sort | uniq -c | sort -nr
>>>1836 c
>>> 818 h
>>> 133 out
>>> 105 S
>>>  97 objs
>>>  69 s
>>>  64 mak
>>>  48 json
>>>  47 py
>>>  41 txt
>>>  33 exit
>>>  33 err
>>>  16 xml
>>>  16 bin
>>>  13 rom
>>>  12 sh
>>>  12 dsl
>>> [Long tail that doesn't add up to anything interesting omitted]
>>>
>>> Let's look for .c not in MAINTAINERS:
>>>
>>> $ for i in `git-ls-files`; do [ "`scripts/get_maintainer.pl -f 
>>> --no-git-fallback $i`" ] || echo $i; done >unmaintained-files
>>> $ grep -c '\.c$' unmaintained-files
>>> 1066
>>>
>>> That's almost 60%.  Not good.
>>
>> Down to 491 our of 1841 (27%).  Progress, but not quite enough.
>
> 461 out of 1945 (24%).  At this linear rate, we'll reach 10%
> unmaintained in five years.

This is now

$ for i in `git-ls-files`; do [ "`scripts/get_maintainer.pl -f 
--no-git-fallback $i | grep -v '^qemu-devel@nongnu\.org'`" ] || echo $i; done 
>unmaintained-files
$ grep -c '\.c$' unmaintained-files
402

402 out of 2132 (19%).  More progress, but not yet there.

> We're still adding unmaintained .c files:
>
> $ git-diff --diff-filter=A --name-only e668d1b | grep -c '\.c$'
> 116
> $ git-diff --diff-filter=A --name-only e668d1b | grep '\.c$' | join 
> unmaintained-files - | wc -l
> 37
>
> 37 out of 116 new files (32%) are not covered.  That's worse than we do
> for old files.  Inexcusable.

$ git-diff --diff-filter=A --name-only 6138fbd | grep -c '\.c$'
215
$ git-diff --diff-filter=A --name-only 6138fbd | grep '\.c$' | join 
unmaintained-files - | wc -l
86

This time, it's 86 out of 215 (40%).  Getting worse.  I'll cook up a
patch to make checkpatch.pl catch such additions.

>>> Apparently, nobody cares for tests:
>>>
>>> $ grep '^tests/' unmaintained-files | grep -c '\.c$'
>>> 654
>>> $ git-ls-files | grep '^tests/' | grep -c '\.c$'
>>> 664
>>
>> Now 91 out of 665.
>
> 105 out of 687.

114 out of 726.

>>> Filtering those out leaves us with 412 unmaintained out of of 1172, or
>>> 35% unmaintained.  Not good even if we (foolishly!) considered tests not
>>> worthy of maintenance.
>>>
>>> Maybe unmaintained files are much smaller.  David A.  Wheeler's
>>> SLOCCount counts 570kSLOC in 1212 maintained files (+140 files sloccount
>>> doesn't know how to count) vs. 300kSLOC in 1798 unmaintained files (+596
>>> uncounted), or 35% unmaintained SLOC.  With tests/ ignored, it's 30%.
>>> So, unmaintained files are indeed smaller, but 30-something percent is
>>> still not good.
>>>
>>> Where are the unmaintained files?  Top-scoring directories outside
>>> tests/ and include/, files in subdirs not counted:
>>>
>>> #files   directory
>>> 84  68%  .
>>> 63 100%  default-configs
>>> 48 100%  pc-bios
>>> 43  97%  stubs
>>> 39 100%  util
>>> 37 100%  pc-bios/keymaps
>>> 35  81%  hw/display
>>> 32  94%  scripts
>>> 26  92%  docs
>>> 26 100%  libcacard
>>> 23  69%  hw/misc
>>> 22  57%  hw/net
>>> 21  63%  hw/intc
>>> 19 100%  roms
>>> 18 100%  disas
>>> 18  56%  hw/timer
>>> 16 100%  hw/core
>>> 15  53%  hw/char
>>> 15 100%  qga
>>> 14 100%  docs/specs
>>> 12  92%  hw/input
>>> 12 100%  qobject
>>> 12 100%  target-m68k
>>> 11 100%  backends
>>> 11 100%  pc-bios/s390-ccw
>>> 10  71%  hw/dma
>
> Different tack: what are the unmaintained files we actually change?
>
> Unmaintained files sorted by number of commits in the past year (commit
> 1733681):
>
> $ for i in `cat unmaintained-files`; do echo -n "$i "; git-rev-list 
> 1733681.. $i | wc -l; done | awk '{ printf "%7d %s\n", $2, $1 }' | sort -rn | 
> head -n 100
>  79 trace-events
>  77 MAINTAINERS
>  

Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2015-09-24 Thread Markus Armbruster
Eric Blake  writes:

> On 09/22/2015 03:13 AM, Markus Armbruster wrote:
>
>>> Full list of unmaintained files now:
>> [...]
>> 
>
>> docs/bitmaps.md
>> docs/blkdebug.txt
>> docs/blkverify.txt
>
>> docs/live-block-ops.txt
>
>> docs/qcow2-cache.txt
>> docs/qdev-device-use.txt
>
>> docs/specs/qcow2.txt
>> docs/specs/qed_spec.txt
>
> Kevin, Stefan - should these be added to Block maintainers?
>
>> docs/writing-qmp-commands.txt
>
> Markus: Probably belongs to qapi.

QMP, actually.

>> include/qapi/dealloc-visitor.h
>> include/qapi/opts-visitor.h
>> include/qapi/qmp-event.h
>> include/qapi/qmp-input-visitor.h
>> include/qapi/qmp-output-visitor.h
>> include/qapi/qmp/dispatch.h
>> include/qapi/qmp/json-lexer.h
>> include/qapi/qmp/json-parser.h
>> include/qapi/qmp/json-streamer.h
>> include/qapi/qmp/qbool.h
>> include/qapi/qmp/qdict.h
>> include/qapi/qmp/qerror.h
>> include/qapi/qmp/qfloat.h
>> include/qapi/qmp/qint.h
>> include/qapi/qmp/qjson.h
>> include/qapi/qmp/qlist.h
>> include/qapi/qmp/qobject.h
>> include/qapi/qmp/qstring.h
>> include/qapi/qmp/types.h
>> include/qapi/string-input-visitor.h
>> include/qapi/string-output-visitor.h
>> include/qapi/util.h
>> include/qapi/visitor-impl.h
>> include/qapi/visitor.h
>
> Definitely belongs to qapi.

The core visitor stuff is clearly QAPI.  The QMP visitor stuff is where
QAPI and QMP overlap.  As long as they share a maintainer (currently
me), it doesn't matter much on which side of the fence we file them.

>> include/qemu/throttle.h
>
> Block?
>
>> include/qjson.h
>
> qapi?

Nope.  Belongs to qjson.c, which has nothing to do with QAPI.  It's a
(yet another) JSON writer that is currently used by migration.

Unfortunate choice of filename, because not only do qjson.[ch] exist
elsewhere already, but that qjson.c used to be right here until it got
moved elsewhere!  Results in a really confusing git-log.

Details: commit a372823 moved qjson.c to qobject/qjson.c, and commit
190c882 created it again.  Blerch.

>> tests/check-qdict.c
>> tests/check-qfloat.c
>> tests/check-qint.c
>> tests/check-qjson.c
>> tests/check-qlist.c
>
>> tests/check-qstring.c
>
> qapi?

Close: QObject.

>> tests/test-opts-visitor.c
>
>> tests/test-qmp-commands.c
>> tests/test-qmp-event.c
>> tests/test-qmp-input-strict.c
>> tests/test-qmp-input-visitor.c
>> tests/test-qmp-output-visitor.c
>
>> tests/test-string-input-visitor.c
>> tests/test-string-output-visitor.c
>
> qapi

Again, some QAPI, some QAPI/QMP.

I'll prepare patches to update MAINTAINERS for QAPI, QMP and QObject.

> Also, should we have some new group for maintainer files, for things like:
>
> .exrc
> .gitignore
> .gitmodules
> .mailmap
> .travis.yml
> CODING_STYLE
> COPYING
> COPYING.LIB
> Changelog
> HACKING
> LICENSE
> MAINTAINERS
>
> README
> VERSION
>
> scripts/get_maintainer.pl

If a maintainer steps forward.



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2015-09-24 Thread Markus Armbruster
Alberto Garcia  writes:

> On Wed 23 Sep 2015 10:24:55 AM CEST, Kevin Wolf  wrote:
>
>>> > include/qemu/throttle.h
>>> 
>>> Block?
>>
>> Would be covered if it were in the correct place (include/block/).

Let's move it to the correct place then.

>> Should we add a separate section for I/O throttling, maintained by
>> Berto, as well? So far it's part of the block layer core - that is,
>> officially maintained by me and I know next to nothing about it.
>
> Yes, you can list me as maintainer of the throttling code.

Cool, thanks!



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2015-09-23 Thread Alberto Garcia
On Wed 23 Sep 2015 10:24:55 AM CEST, Kevin Wolf  wrote:

>> > include/qemu/throttle.h
>> 
>> Block?
>
> Would be covered if it were in the correct place (include/block/).
>
> Should we add a separate section for I/O throttling, maintained by
> Berto, as well? So far it's part of the block layer core - that is,
> officially maintained by me and I know next to nothing about it.

Yes, you can list me as maintainer of the throttling code.

Thanks for telling,

Berto



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2015-09-23 Thread Kevin Wolf
Am 22.09.2015 um 20:07 hat Eric Blake geschrieben:
> On 09/22/2015 03:13 AM, Markus Armbruster wrote:
> 
> >> Full list of unmaintained files now:
> > [...]
> > 
> 
> > docs/bitmaps.md
> > docs/blkdebug.txt
> > docs/blkverify.txt
> 
> > docs/live-block-ops.txt
> 
> > docs/qcow2-cache.txt
> > docs/qdev-device-use.txt
> 
> > docs/specs/qcow2.txt
> > docs/specs/qed_spec.txt
> 
> Kevin, Stefan - should these be added to Block maintainers?

Except for docs/qdev-device-use.txt, I guess.

Also, they shouldn't be added to block in general, but to the specific
block drivers/subsystems like qcow2, qed, block jobs etc.

> > include/qemu/throttle.h
> 
> Block?

Would be covered if it were in the correct place (include/block/).

Should we add a separate section for I/O throttling, maintained by
Berto, as well? So far it's part of the block layer core - that is,
officially maintained by me and I know next to nothing about it.

Kevin


pgpHHzYp8j38p.pgp
Description: PGP signature


Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2015-09-22 Thread John Snow


On 09/22/2015 05:13 AM, Markus Armbruster wrote:
> Paolo asked for an update.
> 
> Markus Armbruster  writes:
>>
>> Full list of unmaintained files now:
> [...]
> 

Full list edited down to 'sections' with replies in-line...

[ top level confetti/detritus ]
[ backends/* ]
[ coroutine-* ]
[ default-configs/* ]
[ disas* ]

> dma-helpers.c

Block?

[ docs/* ]

> docs/bitmaps.md

Mine, or otherwise at least 'block.'

> docs/blkdebug.txt
> docs/blkverify.txt
> docs/live-block-ops.txt
> docs/qcow2-cache.txt
> docs/specs/qcow2.txt
> docs/specs/qed_spec.txt

block?

[ fpu/* ]
[ hw/bt ]
[ hw/char ]
[ hw/core ]
[ hw/cpu ]
[ hw/display ]
[ hw/dma ]
[ hw/gpio ]
[ hw/i2c ]
[ hw/input ]
[ hw/intc ]
[ hw/ipack ]
[ hw/isa ]
[ hw/m68k ]
[ hw/misc ]
[ hw/moxie ]
[ hw/net ]
[ hw/nvram ]
[ hw/pci-bridge ]
[ hw/pci-host ]
[ hw/pcmcia ]
[ hw/sd ]
[ hw/timer ]
[ hw/tpm ]
[ hw/virtio ]
[ hw/watchdog ]
[ hw/xen ]
[ hw/xenpv ]

[ include/* ]
[ include/disas/* ]
[ include/exec/* ]
[ include/fpu/* ]
[ include/hw/{...see hw list above...} ]

[ libcacard/* ] forward to libcacard project?
[ pc-bios/* ]
[ po/* ]

> qemu-coroutine-io.c
> qemu-coroutine-lock.c
> qemu-coroutine-sleep.c
> qemu-coroutine.c

Stefan ... ?

[ roms/* ]
[ scripts/* ] -- pretty much a grab-bag of random stuff.
[ stubs/* ] -- I think we need a designated "build system" maintainer to
take this and other build-system related infrastructure pieces.

[ target-m68k/* ]
[ target-tilegx/* ]
[ tests/acpi-test-data/* ]
[ tests/* ]

> tests/fdc-test.c

Mine, as part of the FDC stanza.

> tests/libqos/ahci.c
> tests/libqos/ahci.h

Mine again, as part of the IDE stanza.

> tests/libqos/fw_cfg.c
> tests/libqos/fw_cfg.h
> tests/libqos/i2c-imx.c
> tests/libqos/i2c-omap.c
> tests/libqos/i2c.c
> tests/libqos/i2c.h
> tests/libqos/libqos-pc.c
> tests/libqos/libqos-pc.h
> tests/libqos/libqos.c
> tests/libqos/libqos.h
> tests/libqos/malloc-generic.c
> tests/libqos/malloc-generic.h
> tests/libqos/malloc-pc.c
> tests/libqos/malloc-pc.h
> tests/libqos/malloc.c
> tests/libqos/malloc.h
> tests/libqos/pci-pc.c
> tests/libqos/pci-pc.h
> tests/libqos/pci.c
> tests/libqos/pci.h
> tests/libqos/usb.c
> tests/libqos/usb.h
> tests/libqos/virtio-mmio.c
> tests/libqos/virtio-mmio.h
> tests/libqos/virtio-pci.c
> tests/libqos/virtio-pci.h
> tests/libqos/virtio.c
> tests/libqos/virtio.h
> tests/libqtest.c
> tests/libqtest.h

I wouldn't mind taking these, if that helped instead of being a burden.
I expect most of the time that changes to these files will go through
other trees.

Perhaps as a 'weak' assignment, but allowing e.g. virtio, i2c, etc to be
more strongly associated with those subsystems and their maintainers
instead; like I will group tests/libqos/ahci.[ch] with my IDE stanza.


[ tests/multiboot/* ]
[ tests/rocker/* ]
[ tests/tcg/* ]

> tests/test-hbitmap.c

Either me or Paolo, I guess, though I'm not sure if it's worth creating
stanzas for each single test file here. We have bigger fish to fry,
probably.

[ tests/test-qmp-* ]

Our good friend Markus.

[ util/* ] Another giant grab-bag.


--js



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2015-09-22 Thread Paolo Bonzini
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256



On 22/09/2015 20:07, Eric Blake wrote:
> On 09/22/2015 03:13 AM, Markus Armbruster wrote:
> 
>>> Full list of unmaintained files now:
>> [...]
>> 
> 
>> docs/bitmaps.md docs/blkdebug.txt docs/blkverify.txt
> 
>> docs/live-block-ops.txt
> 
>> docs/qcow2-cache.txt docs/qdev-device-use.txt
> 
>> docs/specs/qcow2.txt docs/specs/qed_spec.txt
> 
> Kevin, Stefan - should these be added to Block maintainers?

Possibly moved to docs/block while at it?

Paolo



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2015-09-22 Thread Eric Blake
On 09/22/2015 03:13 AM, Markus Armbruster wrote:

>> Full list of unmaintained files now:
> [...]
> 

> docs/bitmaps.md
> docs/blkdebug.txt
> docs/blkverify.txt

> docs/live-block-ops.txt

> docs/qcow2-cache.txt
> docs/qdev-device-use.txt

> docs/specs/qcow2.txt
> docs/specs/qed_spec.txt

Kevin, Stefan - should these be added to Block maintainers?

> docs/writing-qmp-commands.txt

Markus: Probably belongs to qapi.

> include/qapi/dealloc-visitor.h
> include/qapi/opts-visitor.h
> include/qapi/qmp-event.h
> include/qapi/qmp-input-visitor.h
> include/qapi/qmp-output-visitor.h
> include/qapi/qmp/dispatch.h
> include/qapi/qmp/json-lexer.h
> include/qapi/qmp/json-parser.h
> include/qapi/qmp/json-streamer.h
> include/qapi/qmp/qbool.h
> include/qapi/qmp/qdict.h
> include/qapi/qmp/qerror.h
> include/qapi/qmp/qfloat.h
> include/qapi/qmp/qint.h
> include/qapi/qmp/qjson.h
> include/qapi/qmp/qlist.h
> include/qapi/qmp/qobject.h
> include/qapi/qmp/qstring.h
> include/qapi/qmp/types.h
> include/qapi/string-input-visitor.h
> include/qapi/string-output-visitor.h
> include/qapi/util.h
> include/qapi/visitor-impl.h
> include/qapi/visitor.h

Definitely belongs to qapi.

> include/qemu/throttle.h

Block?

> include/qjson.h

qapi?


> tests/check-qdict.c
> tests/check-qfloat.c
> tests/check-qint.c
> tests/check-qjson.c
> tests/check-qlist.c

> tests/check-qstring.c

qapi?

> tests/test-opts-visitor.c

> tests/test-qmp-commands.c
> tests/test-qmp-event.c
> tests/test-qmp-input-strict.c
> tests/test-qmp-input-visitor.c
> tests/test-qmp-output-visitor.c

> tests/test-string-input-visitor.c
> tests/test-string-output-visitor.c

qapi

Also, should we have some new group for maintainer files, for things like:

.exrc
.gitignore
.gitmodules
.mailmap
.travis.yml
CODING_STYLE
COPYING
COPYING.LIB
Changelog
HACKING
LICENSE
MAINTAINERS

README
VERSION

scripts/get_maintainer.pl


-- 
Eric Blake   eblake redhat com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature


Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2015-09-22 Thread Peter Maydell
On 22 September 2015 at 07:58, Daniel P. Berrange  wrote:
> On Tue, Sep 22, 2015 at 11:13:57AM +0200, Markus Armbruster wrote:
>> Paolo asked for an update.
>>
>> Markus Armbruster  writes:
>>
>> > Markus Armbruster  writes:
>> Different tack: what are the unmaintained files we actually change?
>>
>> Unmaintained files sorted by number of commits in the past year (commit
>> 1733681):
>>
>> $ for i in `cat unmaintained-files`; do echo -n "$i "; git-rev-list 
>> 1733681.. $i | wc -l; done | awk '{ printf "%7d %s\n", $2, $1 }' | sort -rn 
>> | head -n 100
>>  79 trace-events
>
> We should probably just kill the trace-events file from git entirely.
> Everyone more or less appends to it, which guarantees each patch
> series conflicts on it, and no one person is suitable as maintainer
> of it really.

Strong agreement; a single trace-events file is just nasty.

-- PMM



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2015-09-22 Thread Markus Armbruster
Paolo asked for an update.

Markus Armbruster  writes:

> Markus Armbruster  writes:
>
>> In my experience, too many files are not covered by MAINTAINERS.
>> scripts/get_maintainer.pl falls back to git then, unless you say
>> --no-git-fallback.  Copies sent there tends to annoy their recipients
>> without accomplishing all that much.
>>
>> Two obvious improvements:
>>
>> * Easy: Flip scripts/get_maintainer.pl's default to --no-git-fallback.
>>   I'll post the obvious patch, please raise your objections there.
>>
>> * Harder: improve MAINTAINERS coverage.
>
> A few folks have started doing that.  Much appreciated!
>
> I collected recent patches to MAINTAINERS, and reran my analysis.
>
>> Let me back up subjective experience with hard data.  The tree has quite
>> a few files:
>>
>> $ git-ls-files | wc -l
>> 3746
>
> Now 3752.

Eleven months later, this is 4387.

>> Counting them by extension:
>>
>> $ git-ls-files | sed -n 's#.*/##;s#.*\.##p' | sort | uniq -c | sort -nr
>>1836 c
>> 818 h
>> 133 out
>> 105 S
>>  97 objs
>>  69 s
>>  64 mak
>>  48 json
>>  47 py
>>  41 txt
>>  33 exit
>>  33 err
>>  16 xml
>>  16 bin
>>  13 rom
>>  12 sh
>>  12 dsl
>> [Long tail that doesn't add up to anything interesting omitted]
>>
>> Let's look for .c not in MAINTAINERS:
>>
>> $ for i in `git-ls-files`; do [ "`scripts/get_maintainer.pl -f
> --no-git-fallback $i`" ] || echo $i; done >unmaintained-files
>> $ grep -c '\.c$' unmaintained-files
>> 1066
>>
>> That's almost 60%.  Not good.
>
> Down to 491 our of 1841 (27%).  Progress, but not quite enough.

461 out of 1945 (24%).  At this linear rate, we'll reach 10%
unmaintained in five years.

We're still adding unmaintained .c files:

$ git-diff --diff-filter=A --name-only e668d1b | grep -c '\.c$'
116
$ git-diff --diff-filter=A --name-only e668d1b | grep '\.c$' | join 
unmaintained-files - | wc -l
37

37 out of 116 new files (32%) are not covered.  That's worse than we do
for old files.  Inexcusable.

>> Apparently, nobody cares for tests:
>>
>> $ grep '^tests/' unmaintained-files | grep -c '\.c$'
>> 654
>> $ git-ls-files | grep '^tests/' | grep -c '\.c$'
>> 664
>
> Now 91 out of 665.

105 out of 687.

>> Filtering those out leaves us with 412 unmaintained out of of 1172, or
>> 35% unmaintained.  Not good even if we (foolishly!) considered tests not
>> worthy of maintenance.
>>
>> Maybe unmaintained files are much smaller.  David A.  Wheeler's
>> SLOCCount counts 570kSLOC in 1212 maintained files (+140 files sloccount
>> doesn't know how to count) vs. 300kSLOC in 1798 unmaintained files (+596
>> uncounted), or 35% unmaintained SLOC.  With tests/ ignored, it's 30%.
>> So, unmaintained files are indeed smaller, but 30-something percent is
>> still not good.
>>
>> Where are the unmaintained files?  Top-scoring directories outside
>> tests/ and include/, files in subdirs not counted:
>>
>> #files   directory
>> 84  68%  .
>> 63 100%  default-configs
>> 48 100%  pc-bios
>> 43  97%  stubs
>> 39 100%  util
>> 37 100%  pc-bios/keymaps
>> 35  81%  hw/display
>> 32  94%  scripts
>> 26  92%  docs
>> 26 100%  libcacard
>> 23  69%  hw/misc
>> 22  57%  hw/net
>> 21  63%  hw/intc
>> 19 100%  roms
>> 18 100%  disas
>> 18  56%  hw/timer
>> 16 100%  hw/core
>> 15  53%  hw/char
>> 15 100%  qga
>> 14 100%  docs/specs
>> 12  92%  hw/input
>> 12 100%  qobject
>> 12 100%  target-m68k
>> 11 100%  backends
>> 11 100%  pc-bios/s390-ccw
>> 10  71%  hw/dma

Different tack: what are the unmaintained files we actually change?

Unmaintained files sorted by number of commits in the past year (commit
1733681):

$ for i in `cat unmaintained-files`; do echo -n "$i "; git-rev-list 
1733681.. $i | wc -l; done | awk '{ printf "%7d %s\n", $2, $1 }' | sort -rn | 
head -n 100
 79 trace-events
 77 MAINTAINERS
 74 tests/Makefile
 37 hw/core/qdev.c
 35 arch_init.c
 33 tests/libqos/ahci.c
 30 tests/libqos/ahci.h
 27 qdev-monitor.c
 27 include/hw/boards.h
 27 Makefile
 26 include/exec/exec-all.h
 25 include/hw/virtio/virtio.h
 24 hw/xen/xen_pt_config_init.c
 23 include/hw/virtio/virtio-scsi.h
 22 util/qemu-option.c
 22 hw/net/rtl8139.c
 22 hw/intc/arm_gic.c
 22 VERSION
 21 target-tilegx/translate.c
 21 include/ui/console.h
 21 include/hw/qdev-core.h
 19 include/qemu-common.h
 19 hw/xen/xen_pt.c
 19 hw/display/vga.c
 18 include/exec/cpu-all.h
 18 disas/mips.c
 17 hw/nvram/fw_cfg.c
 15 include/sysemu/blockdev.h
 15 include/sysemu/block-backend.h
 15 

Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2015-09-22 Thread Thomas Huth
On 22/09/15 11:13, Markus Armbruster wrote:
...
>> Full list of unmaintained files now:
[...]
> default-configs/aarch64-linux-user.mak
> default-configs/aarch64-softmmu.mak
> default-configs/alpha-linux-user.mak
> default-configs/alpha-softmmu.mak
> default-configs/arm-linux-user.mak
> default-configs/arm-softmmu.mak
> default-configs/armeb-linux-user.mak
> default-configs/cris-linux-user.mak
> default-configs/cris-softmmu.mak
> default-configs/i386-bsd-user.mak
> default-configs/i386-linux-user.mak
> default-configs/i386-softmmu.mak
> default-configs/lm32-softmmu.mak
> default-configs/m68k-linux-user.mak
> default-configs/m68k-softmmu.mak
> default-configs/microblaze-linux-user.mak
> default-configs/microblaze-softmmu.mak
> default-configs/microblazeel-linux-user.mak
> default-configs/microblazeel-softmmu.mak
> default-configs/mips-linux-user.mak
> default-configs/mips-softmmu.mak
> default-configs/mips64-linux-user.mak
> default-configs/mips64-softmmu.mak
> default-configs/mips64el-linux-user.mak
> default-configs/mips64el-softmmu.mak
> default-configs/mipsel-linux-user.mak
> default-configs/mipsel-softmmu.mak
> default-configs/mipsn32-linux-user.mak
> default-configs/mipsn32el-linux-user.mak
> default-configs/moxie-softmmu.mak
> default-configs/or32-linux-user.mak
> default-configs/or32-softmmu.mak
> default-configs/pci.mak
> default-configs/ppc-linux-user.mak
> default-configs/ppc-softmmu.mak
> default-configs/ppc64-linux-user.mak
> default-configs/ppc64-softmmu.mak
> default-configs/ppc64abi32-linux-user.mak
> default-configs/ppc64le-linux-user.mak
> default-configs/ppcemb-softmmu.mak
> default-configs/s390x-linux-user.mak
> default-configs/s390x-softmmu.mak
> default-configs/sh4-linux-user.mak
> default-configs/sh4-softmmu.mak
> default-configs/sh4eb-linux-user.mak
> default-configs/sh4eb-softmmu.mak
> default-configs/sound.mak
> default-configs/sparc-bsd-user.mak
> default-configs/sparc-linux-user.mak
> default-configs/sparc-softmmu.mak
> default-configs/sparc32plus-linux-user.mak
> default-configs/sparc64-bsd-user.mak
> default-configs/sparc64-linux-user.mak
> default-configs/sparc64-softmmu.mak
> default-configs/tilegx-linux-user.mak
> default-configs/tricore-softmmu.mak
> default-configs/unicore32-linux-user.mak
> default-configs/unicore32-softmmu.mak
> default-configs/usb.mak
> default-configs/x86_64-bsd-user.mak
> default-configs/x86_64-linux-user.mak
> default-configs/x86_64-softmmu.mak

Can't we give the default softmmu config files to the corresponding
machine maintainers? E.g. the x86_64-softmmu to the X86 machine
maintainer etc.?

> docs/migration.txt

Juan?

> docs/usb-storage.txt
> docs/usb2.txt
> include/hw/usb.h
> include/hw/usb/ehci-regs.h
> include/hw/usb/uhci-regs.h
> include/ui/console.h
> include/ui/egl-helpers.h
> include/ui/gtk.h
> include/ui/input.h
> include/ui/pixel_ops.h
> include/ui/qemu-pixman.h
> include/ui/sdl2.h
> include/ui/shader.h
> include/ui/spice-display.h

Gerd?

> include/hw/mips/bios.h
> include/hw/mips/cpudevs.h
> include/hw/mips/mips.h

-> MIPS CPU maintainers?

> include/hw/ppc/mac_dbdma.h
> include/hw/ppc/openpic.h
> include/hw/ppc/ppc.h
> include/hw/ppc/ppc4xx.h
> include/hw/ppc/ppc_e500.h

-> PPC CPU maintainer?

> include/hw/virtio/dataplane/vring-accessors.h
> include/hw/virtio/dataplane/vring.h
> include/hw/virtio/vhost-backend.h
> include/hw/virtio/vhost-scsi.h
> include/hw/virtio/vhost.h
> include/hw/virtio/virtio-9p.h
> include/hw/virtio/virtio-access.h
> include/hw/virtio/virtio-balloon.h
> include/hw/virtio/virtio-blk.h
> include/hw/virtio/virtio-bus.h
> include/hw/virtio/virtio-gpu.h
> include/hw/virtio/virtio-net.h
> include/hw/virtio/virtio-scsi.h
> include/hw/virtio/virtio.h
> tests/virtio-balloon-test.c
> tests/virtio-blk-test.c
> tests/virtio-console-test.c
> tests/virtio-net-test.c
> tests/virtio-rng-test.c
> tests/virtio-scsi-test.c
> tests/virtio-serial-test.c

Michael?

> target-m68k/Makefile.objs
> target-m68k/cpu-qom.h
> target-m68k/cpu.c
> target-m68k/cpu.h
> target-m68k/gdbstub.c
> target-m68k/helper.c
> target-m68k/helper.h
> target-m68k/m68k-semi.c
> target-m68k/op_helper.c
> target-m68k/qregs.def
> target-m68k/translate.c

There are some 68k people on the list ... maybe one of them could be
motivated? ;-)

 Thomas




Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2015-09-22 Thread Daniel P. Berrange
On Tue, Sep 22, 2015 at 11:13:57AM +0200, Markus Armbruster wrote:
> Paolo asked for an update.
> 
> Markus Armbruster  writes:
> 
> > Markus Armbruster  writes:
> >
> >> In my experience, too many files are not covered by MAINTAINERS.
> >> scripts/get_maintainer.pl falls back to git then, unless you say
> >> --no-git-fallback.  Copies sent there tends to annoy their recipients
> >> without accomplishing all that much.
> >>
> >> Two obvious improvements:
> >>
> >> * Easy: Flip scripts/get_maintainer.pl's default to --no-git-fallback.
> >>   I'll post the obvious patch, please raise your objections there.
> >>
> >> * Harder: improve MAINTAINERS coverage.
> >
> > A few folks have started doing that.  Much appreciated!
> >
> > I collected recent patches to MAINTAINERS, and reran my analysis.
> >
> >> Let me back up subjective experience with hard data.  The tree has quite
> >> a few files:
> >>
> >> $ git-ls-files | wc -l
> >> 3746
> >
> > Now 3752.
> 
> Eleven months later, this is 4387.
> 
> >> Counting them by extension:
> >>
> >> $ git-ls-files | sed -n 's#.*/##;s#.*\.##p' | sort | uniq -c | sort -nr
> >>1836 c
> >> 818 h
> >> 133 out
> >> 105 S
> >>  97 objs
> >>  69 s
> >>  64 mak
> >>  48 json
> >>  47 py
> >>  41 txt
> >>  33 exit
> >>  33 err
> >>  16 xml
> >>  16 bin
> >>  13 rom
> >>  12 sh
> >>  12 dsl
> >> [Long tail that doesn't add up to anything interesting omitted]
> >>
> >> Let's look for .c not in MAINTAINERS:
> >>
> >> $ for i in `git-ls-files`; do [ "`scripts/get_maintainer.pl -f
> > --no-git-fallback $i`" ] || echo $i; done >unmaintained-files
> >> $ grep -c '\.c$' unmaintained-files
> >> 1066
> >>
> >> That's almost 60%.  Not good.
> >
> > Down to 491 our of 1841 (27%).  Progress, but not quite enough.
> 
> 461 out of 1945 (24%).  At this linear rate, we'll reach 10%
> unmaintained in five years.
> 
> We're still adding unmaintained .c files:
> 
> $ git-diff --diff-filter=A --name-only e668d1b | grep -c '\.c$'
> 116
> $ git-diff --diff-filter=A --name-only e668d1b | grep '\.c$' | join 
> unmaintained-files - | wc -l
> 37
> 
> 37 out of 116 new files (32%) are not covered.  That's worse than we do
> for old files.  Inexcusable.

We could extend the checkpatch.pl script so that it reports an error
if the patch contains a new file which is not covered by MAINTAINERS.
That would immediately prevent the situation getting any worse.

Regards,
Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2015-09-22 Thread Paolo Bonzini


On 22/09/2015 12:06, Daniel P. Berrange wrote:
> We could extend the checkpatch.pl script so that it reports an error
> if the patch contains a new file which is not covered by MAINTAINERS.
> That would immediately prevent the situation getting any worse.

Actually Linux has such a check.  Any volunteer to backport it? :)

Paolo



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2015-09-22 Thread Daniel P. Berrange
On Tue, Sep 22, 2015 at 11:13:57AM +0200, Markus Armbruster wrote:
> Paolo asked for an update.
> 
> Markus Armbruster  writes:
> 
> > Markus Armbruster  writes:
> Different tack: what are the unmaintained files we actually change?
> 
> Unmaintained files sorted by number of commits in the past year (commit
> 1733681):
> 
> $ for i in `cat unmaintained-files`; do echo -n "$i "; git-rev-list 
> 1733681.. $i | wc -l; done | awk '{ printf "%7d %s\n", $2, $1 }' | sort -rn | 
> head -n 100
>  79 trace-events

We should probably just kill the trace-events file from git entirely.
Everyone more or less appends to it, which guarantees each patch
series conflicts on it, and no one person is suitable as maintainer
of it really.

My personal suggestion would be to have a .t file alongside each
source file which has trace events in it. eg if ui/vnc.c includes
trace events, then put all VNC trace events in a ui/vnc.t file.
The Makefile can trivially concatenate all .t files back into a
single trace-events file.

This way, we can trivially align maintainers for the .t files
with the corresponding maintainer of the .c file.

There might be some cases where trace events are used from multiple
source files, in which case you could allow a common.t file in each
subdirectory too. This gets slightly harder to assign a unique maintainer
against though particularly for a dumping ground like util/ or block/
etc, so I'd suggest focusing on .t files matching the .c filename.

Regards,
Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2015-09-22 Thread Gerd Hoffmann
  Hi,

> > docs/usb-storage.txt
> > docs/usb2.txt
> > include/hw/usb.h
> > include/hw/usb/ehci-regs.h
> > include/hw/usb/uhci-regs.h

> > include/ui/console.h
> > include/ui/egl-helpers.h
> > include/ui/gtk.h
> > include/ui/input.h
> > include/ui/pixel_ops.h
> > include/ui/qemu-pixman.h
> > include/ui/sdl2.h
> > include/ui/shader.h
> > include/ui/spice-display.h

> Gerd?

Yes.

usb obviously to the usb section.  The include/ui/ includes to the
corresponding ui/ sections (vnc, spice, ...).

There are possibly some uncovered files in ui/ too, maybe we need new ui
section(s), all the new opengl bits are not yet covered I think.

thanks for looking at this,
  Gerd




Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2015-09-22 Thread Juan Quintela
Thomas Huth  wrote:
> On 22/09/15 11:13, Markus Armbruster wrote:

>
>> docs/migration.txt
>
> Juan?

Reviewed-by: Juan Quintela 

O;-)



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2014-10-22 Thread Markus Armbruster
Markus Armbruster arm...@redhat.com writes:

 In my experience, too many files are not covered by MAINTAINERS.
 scripts/get_maintainer.pl falls back to git then, unless you say
 --no-git-fallback.  Copies sent there tends to annoy their recipients
 without accomplishing all that much.

 Two obvious improvements:

 * Easy: Flip scripts/get_maintainer.pl's default to --no-git-fallback.
   I'll post the obvious patch, please raise your objections there.

 * Harder: improve MAINTAINERS coverage.

A few folks have started doing that.  Much appreciated!

I collected recent patches to MAINTAINERS, and reran my analysis.

 Let me back up subjective experience with hard data.  The tree has quite
 a few files:

 $ git-ls-files | wc -l
 3746

Now 3752.

 Counting them by extension:

 $ git-ls-files | sed -n 's#.*/##;s#.*\.##p' | sort | uniq -c | sort -nr
1836 c
 818 h
 133 out
 105 S
  97 objs
  69 s
  64 mak
  48 json
  47 py
  41 txt
  33 exit
  33 err
  16 xml
  16 bin
  13 rom
  12 sh
  12 dsl
 [Long tail that doesn't add up to anything interesting omitted]

 Let's look for .c not in MAINTAINERS:

 $ for i in `git-ls-files`; do [ `scripts/get_maintainer.pl -f 
 --no-git-fallback $i` ] || echo $i; done unmaintained-files
 $ grep -c '\.c$' unmaintained-files
 1066

 That's almost 60%.  Not good.

Down to 491 our of 1841 (27%).  Progress, but not quite enough.

 Apparently, nobody cares for tests:

 $ grep '^tests/' unmaintained-files | grep -c '\.c$'
 654
 $ git-ls-files | grep '^tests/' | grep -c '\.c$'
 664

Now 91 out of 665.

 Filtering those out leaves us with 412 unmaintained out of of 1172, or
 35% unmaintained.  Not good even if we (foolishly!) considered tests not
 worthy of maintenance.

 Maybe unmaintained files are much smaller.  David A.  Wheeler's
 SLOCCount counts 570kSLOC in 1212 maintained files (+140 files sloccount
 doesn't know how to count) vs. 300kSLOC in 1798 unmaintained files (+596
 uncounted), or 35% unmaintained SLOC.  With tests/ ignored, it's 30%.
 So, unmaintained files are indeed smaller, but 30-something percent is
 still not good.

 Where are the unmaintained files?  Top-scoring directories outside
 tests/ and include/, files in subdirs not counted:

 #files   directory
 84  68%  .
 63 100%  default-configs
 48 100%  pc-bios
 43  97%  stubs
 39 100%  util
 37 100%  pc-bios/keymaps
 35  81%  hw/display
 32  94%  scripts
 26  92%  docs
 26 100%  libcacard
 23  69%  hw/misc
 22  57%  hw/net
 21  63%  hw/intc
 19 100%  roms
 18 100%  disas
 18  56%  hw/timer
 16 100%  hw/core
 15  53%  hw/char
 15 100%  qga
 14 100%  docs/specs
 12  92%  hw/input
 12 100%  qobject
 12 100%  target-m68k
 11 100%  backends
 11 100%  pc-bios/s390-ccw
 10  71%  hw/dma

 Ideas?  Takers?

Full list of unmaintained files now:

.exrc
.gitignore
.gitmodules
.mailmap
.travis.yml
CODING_STYLE
COPYING
COPYING.LIB
Changelog
HACKING
LICENSE
MAINTAINERS
Makefile
Makefile.objs
Makefile.target
README
VERSION
accel.c
arch_init.c
backends/Makefile.objs
backends/baum.c
backends/hostmem-file.c
backends/hostmem-ram.c
backends/hostmem.c
backends/msmouse.c
backends/rng-egd.c
backends/rng-random.c
backends/rng.c
backends/testdev.c
backends/tpm.c
balloon.c
bt-host.c
bt-vhci.c
configure
coroutine-gthread.c
coroutine-sigaltstack.c
coroutine-ucontext.c
cpus.c
default-configs/aarch64-linux-user.mak
default-configs/aarch64-softmmu.mak
default-configs/alpha-linux-user.mak
default-configs/alpha-softmmu.mak
default-configs/arm-linux-user.mak
default-configs/arm-softmmu.mak
default-configs/armeb-linux-user.mak
default-configs/cris-linux-user.mak
default-configs/cris-softmmu.mak
default-configs/i386-bsd-user.mak
default-configs/i386-linux-user.mak
default-configs/i386-softmmu.mak
default-configs/lm32-softmmu.mak
default-configs/m68k-linux-user.mak
default-configs/m68k-softmmu.mak
default-configs/microblaze-linux-user.mak
default-configs/microblaze-softmmu.mak
default-configs/microblazeel-linux-user.mak
default-configs/microblazeel-softmmu.mak
default-configs/mips-linux-user.mak
default-configs/mips-softmmu.mak
default-configs/mips64-linux-user.mak
default-configs/mips64-softmmu.mak
default-configs/mips64el-linux-user.mak
default-configs/mips64el-softmmu.mak
default-configs/mipsel-linux-user.mak
default-configs/mipsel-softmmu.mak
default-configs/mipsn32-linux-user.mak
default-configs/mipsn32el-linux-user.mak
default-configs/moxie-softmmu.mak
default-configs/or32-linux-user.mak
default-configs/or32-softmmu.mak
default-configs/pci.mak
default-configs/ppc-linux-user.mak
default-configs/ppc-softmmu.mak
default-configs/ppc64-linux-user.mak
default-configs/ppc64-softmmu.mak
default-configs/ppc64abi32-linux-user.mak
default-configs/ppc64le-linux-user.mak

Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2014-10-22 Thread Paolo Bonzini
 Down to 491 our of 1841 (27%).  Progress, but not quite enough.

I think a better analysis would be on patches, not files.  Which is
really hard to do, of course.

But as a rule of thumb, tests/ and include/ patches should also touch
files outside those directories.  Not many people, unfortunately, write
tests out of a whim.  So I wouldn't care much about those.

Some low-hanging fruit:

 libcacard/Makefile
 libcacard/cac.c
 libcacard/cac.h
 libcacard/card_7816.c
 libcacard/card_7816.h
 libcacard/card_7816t.h
 libcacard/event.c
 libcacard/eventt.h
 libcacard/libcacard.pc.in
 libcacard/libcacard.syms
 libcacard/link_test.c
 libcacard/vcard.c
 libcacard/vcard.h
 libcacard/vcard_emul.h
 libcacard/vcard_emul_nss.c
 libcacard/vcard_emul_type.c
 libcacard/vcard_emul_type.h
 libcacard/vcardt.c
 libcacard/vcardt.h
 libcacard/vcardt_internal.h
 libcacard/vevent.h
 libcacard/vreader.c
 libcacard/vreader.h
 libcacard/vreadert.h
 libcacard/vscard_common.h
 libcacard/vscclient.c

Alon?

 libdecnumber/decContext.c
 libdecnumber/decNumber.c
 libdecnumber/dpd/decimal128.c
 libdecnumber/dpd/decimal128Local.h
 libdecnumber/dpd/decimal32.c
 libdecnumber/dpd/decimal64.c

Part of TCG PPC.

 qga/Makefile.objs
 qga/channel-posix.c
 qga/channel-win32.c
 qga/channel.h
 qga/commands-posix.c
 qga/commands-win32.c
 qga/commands.c
 qga/guest-agent-command-state.c
 qga/guest-agent-core.h
 qga/main.c
 qga/qapi-schema.json
 qga/service-win32.c
 qga/service-win32.h
 qga/vss-win32.c
 qga/vss-win32.h
 qga/vss-win32/Makefile.objs
 qga/vss-win32/install.cpp
 qga/vss-win32/provider.cpp
 qga/vss-win32/qga-vss.def
 qga/vss-win32/qga-vss.idl
 qga/vss-win32/qga-vss.tlb
 qga/vss-win32/requester.cpp
 qga/vss-win32/requester.h
 qga/vss-win32/vss-common.h

Mike Roth?

 qobject/Makefile.objs
 qobject/json-lexer.c
 qobject/json-parser.c
 qobject/json-streamer.c
 qobject/qbool.c
 qobject/qdict.c
 qobject/qerror.c
 qobject/qfloat.c
 qobject/qint.c
 qobject/qjson.c
 qobject/qlist.c
 qobject/qstring.c

Part of QMP.

Paolo



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2014-10-22 Thread Markus Armbruster
Paolo Bonzini pbonz...@redhat.com writes:

 Down to 491 our of 1841 (27%).  Progress, but not quite enough.

 I think a better analysis would be on patches, not files.  Which is
 really hard to do, of course.

 But as a rule of thumb, tests/ and include/ patches should also touch
 files outside those directories.  Not many people, unfortunately, write
 tests out of a whim.  So I wouldn't care much about those.

Focusing on non-test, non-header source code for now seems sensible.

 Some low-hanging fruit:

 libcacard/Makefile
 libcacard/cac.c
 libcacard/cac.h
 libcacard/card_7816.c
 libcacard/card_7816.h
 libcacard/card_7816t.h
 libcacard/event.c
 libcacard/eventt.h
 libcacard/libcacard.pc.in
 libcacard/libcacard.syms
 libcacard/link_test.c
 libcacard/vcard.c
 libcacard/vcard.h
 libcacard/vcard_emul.h
 libcacard/vcard_emul_nss.c
 libcacard/vcard_emul_type.c
 libcacard/vcard_emul_type.h
 libcacard/vcardt.c
 libcacard/vcardt.h
 libcacard/vcardt_internal.h
 libcacard/vevent.h
 libcacard/vreader.c
 libcacard/vreader.h
 libcacard/vreadert.h
 libcacard/vscard_common.h
 libcacard/vscclient.c

 Alon?

 libdecnumber/decContext.c
 libdecnumber/decNumber.c
 libdecnumber/dpd/decimal128.c
 libdecnumber/dpd/decimal128Local.h
 libdecnumber/dpd/decimal32.c
 libdecnumber/dpd/decimal64.c

 Part of TCG PPC.

Give me a name :)

 qga/Makefile.objs
 qga/channel-posix.c
 qga/channel-win32.c
 qga/channel.h
 qga/commands-posix.c
 qga/commands-win32.c
 qga/commands.c
 qga/guest-agent-command-state.c
 qga/guest-agent-core.h
 qga/main.c
 qga/qapi-schema.json
 qga/service-win32.c
 qga/service-win32.h
 qga/vss-win32.c
 qga/vss-win32.h
 qga/vss-win32/Makefile.objs
 qga/vss-win32/install.cpp
 qga/vss-win32/provider.cpp
 qga/vss-win32/qga-vss.def
 qga/vss-win32/qga-vss.idl
 qga/vss-win32/qga-vss.tlb
 qga/vss-win32/requester.cpp
 qga/vss-win32/requester.h
 qga/vss-win32/vss-common.h

 Mike Roth?

Cc'ed.

 qobject/Makefile.objs
 qobject/json-lexer.c
 qobject/json-parser.c
 qobject/json-streamer.c
 qobject/qbool.c
 qobject/qdict.c
 qobject/qerror.c
 qobject/qfloat.c
 qobject/qint.c
 qobject/qjson.c
 qobject/qlist.c
 qobject/qstring.c

 Part of QMP.

Cc'ing Luiz.



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2014-10-22 Thread Paolo Bonzini


On 10/22/2014 01:45 PM, Markus Armbruster wrote:
  Part of TCG PPC.
 Give me a name :)
 

This:

PowerPC
M: Alexander Graf ag...@suse.de
L: qemu-...@nongnu.org
S: Maintained
F: target-ppc/
F: hw/ppc/

Paolo



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2014-10-22 Thread Michael Roth
Quoting Markus Armbruster (2014-10-22 06:45:44)
 Paolo Bonzini pbonz...@redhat.com writes:
 
  Down to 491 our of 1841 (27%).  Progress, but not quite enough.
 
  I think a better analysis would be on patches, not files.  Which is
  really hard to do, of course.
 
  But as a rule of thumb, tests/ and include/ patches should also touch
  files outside those directories.  Not many people, unfortunately, write
  tests out of a whim.  So I wouldn't care much about those.
 
 Focusing on non-test, non-header source code for now seems sensible.
 
  Some low-hanging fruit:
 
  libcacard/Makefile
  libcacard/cac.c
  libcacard/cac.h
  libcacard/card_7816.c
  libcacard/card_7816.h
  libcacard/card_7816t.h
  libcacard/event.c
  libcacard/eventt.h
  libcacard/libcacard.pc.in
  libcacard/libcacard.syms
  libcacard/link_test.c
  libcacard/vcard.c
  libcacard/vcard.h
  libcacard/vcard_emul.h
  libcacard/vcard_emul_nss.c
  libcacard/vcard_emul_type.c
  libcacard/vcard_emul_type.h
  libcacard/vcardt.c
  libcacard/vcardt.h
  libcacard/vcardt_internal.h
  libcacard/vevent.h
  libcacard/vreader.c
  libcacard/vreader.h
  libcacard/vreadert.h
  libcacard/vscard_common.h
  libcacard/vscclient.c
 
  Alon?
 
  libdecnumber/decContext.c
  libdecnumber/decNumber.c
  libdecnumber/dpd/decimal128.c
  libdecnumber/dpd/decimal128Local.h
  libdecnumber/dpd/decimal32.c
  libdecnumber/dpd/decimal64.c
 
  Part of TCG PPC.
 
 Give me a name :)
 
  qga/Makefile.objs
  qga/channel-posix.c
  qga/channel-win32.c
  qga/channel.h
  qga/commands-posix.c
  qga/commands-win32.c
  qga/commands.c
  qga/guest-agent-command-state.c
  qga/guest-agent-core.h
  qga/main.c
  qga/qapi-schema.json
  qga/service-win32.c
  qga/service-win32.h
  qga/vss-win32.c
  qga/vss-win32.h
  qga/vss-win32/Makefile.objs
  qga/vss-win32/install.cpp
  qga/vss-win32/provider.cpp
  qga/vss-win32/qga-vss.def
  qga/vss-win32/qga-vss.idl
  qga/vss-win32/qga-vss.tlb
  qga/vss-win32/requester.cpp
  qga/vss-win32/requester.h
  qga/vss-win32/vss-common.h
 
  Mike Roth?
 
 Cc'ed.

Of course, just never thought to add it. Just sent a patch for MAINTAINERS.

 
  qobject/Makefile.objs
  qobject/json-lexer.c
  qobject/json-parser.c
  qobject/json-streamer.c
  qobject/qbool.c
  qobject/qdict.c
  qobject/qerror.c
  qobject/qfloat.c
  qobject/qint.c
  qobject/qjson.c
  qobject/qlist.c
  qobject/qstring.c
 
  Part of QMP.
 
 Cc'ing Luiz.




Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2014-10-22 Thread Markus Armbruster
Paolo Bonzini pbonz...@redhat.com writes:

 On 10/22/2014 01:45 PM, Markus Armbruster wrote:
  Part of TCG PPC.
 Give me a name :)
 

 This:

 PowerPC
 M: Alexander Graf ag...@suse.de
 L: qemu-...@nongnu.org
 S: Maintained
 F: target-ppc/
 F: hw/ppc/

 Paolo

Something like this, I presume:

diff --git a/MAINTAINERS b/MAINTAINERS
index e52e75c..52ac491 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -138,6 +138,7 @@ L: qemu-...@nongnu.org
 S: Maintained
 F: target-ppc/
 F: hw/ppc/
+F: libdecnumber

 S390
 M: Richard Henderson r...@twiddle.net



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2014-10-22 Thread Alexander Graf


On 22.10.14 15:06, Markus Armbruster wrote:
 Paolo Bonzini pbonz...@redhat.com writes:
 
 On 10/22/2014 01:45 PM, Markus Armbruster wrote:
 Part of TCG PPC.
 Give me a name :)


 This:

 PowerPC
 M: Alexander Graf ag...@suse.de
 L: qemu-...@nongnu.org
 S: Maintained
 F: target-ppc/
 F: hw/ppc/

 Paolo
 
 Something like this, I presume:

I think the best way to figure these out would be to have checkpatch.pl
check whether an unmaintained file gets introduced. If that happens,
warn the user.

I always run checkpatch.pl on every patch I apply.


Alex



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2014-10-22 Thread Paolo Bonzini


On 10/22/2014 03:06 PM, Markus Armbruster wrote:
 Paolo Bonzini pbonz...@redhat.com writes:
 
 On 10/22/2014 01:45 PM, Markus Armbruster wrote:
 Part of TCG PPC.
 Give me a name :)


 This:

 PowerPC
 M: Alexander Graf ag...@suse.de
 L: qemu-...@nongnu.org
 S: Maintained
 F: target-ppc/
 F: hw/ppc/

 Paolo
 
 Something like this, I presume:
 
 diff --git a/MAINTAINERS b/MAINTAINERS
 index e52e75c..52ac491 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
 @@ -138,6 +138,7 @@ L: qemu-...@nongnu.org
  S: Maintained
  F: target-ppc/
  F: hw/ppc/
 +F: libdecnumber

with a slash at the end :)

Paolo



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2014-10-22 Thread Alex Bennée

Markus Armbruster arm...@redhat.com writes:

 In my experience, too many files are not covered by MAINTAINERS.
 scripts/get_maintainer.pl falls back to git then, unless you say
 --no-git-fallback.  Copies sent there tends to annoy their recipients
 without accomplishing all that much.

 Two obvious improvements:

 * Easy: Flip scripts/get_maintainer.pl's default to --no-git-fallback.
   I'll post the obvious patch, please raise your objections there.

As it happens I do that in my .git/config, but...

 * Harder: improve MAINTAINERS coverage.

Well one problem is no MAINTAINER == no obvious tree to take you
patches. This is my main bugbear. I have a few patch series that touch a
smattering of files (e.g. logging improvements) that don't fall under
one particular sub-system but are probably a little too broad for the
trivial tree.

 Where are the unmaintained files?  Top-scoring directories outside
 tests/ and include/, files in subdirs not counted:

 #files   directory
 84  68%  .

I suspect there is a bunch of general infrastructure bits that has this
sort of property. Maybe some effort be made to move related bits into
sub-directories (with MAINTAINERS) where they are less likely to fall
in-between the cracks?

snip

 Ideas?  Takers?

My 0.2c ;-)

-- 
Alex Bennée



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2014-10-22 Thread Markus Armbruster
Alex Bennée alex.ben...@linaro.org writes:

 Markus Armbruster arm...@redhat.com writes:

 In my experience, too many files are not covered by MAINTAINERS.
 scripts/get_maintainer.pl falls back to git then, unless you say
 --no-git-fallback.  Copies sent there tends to annoy their recipients
 without accomplishing all that much.

 Two obvious improvements:

 * Easy: Flip scripts/get_maintainer.pl's default to --no-git-fallback.
   I'll post the obvious patch, please raise your objections there.

 As it happens I do that in my .git/config, but...

 * Harder: improve MAINTAINERS coverage.

 Well one problem is no MAINTAINER == no obvious tree to take you
 patches. This is my main bugbear. I have a few patch series that touch a
 smattering of files (e.g. logging improvements) that don't fall under
 one particular sub-system but are probably a little too broad for the
 trivial tree.

I've been there quite a few times.  No easy answers.

 Where are the unmaintained files?  Top-scoring directories outside
 tests/ and include/, files in subdirs not counted:

 #files   directory
 84  68%  .

 I suspect there is a bunch of general infrastructure bits that has this
 sort of property. Maybe some effort be made to move related bits into
 sub-directories (with MAINTAINERS) where they are less likely to fall
 in-between the cracks?

No objection to moving stuff to more appropriate homes.  But it's not
necessary for MAINTAINERS coverage.  Just add the necessary F: lines.

 snip

 Ideas?  Takers?

 My 0.2c ;-)

Thanks!



[Qemu-devel] MAINTAINERS leaves too many files uncovered

2014-10-20 Thread Markus Armbruster
In my experience, too many files are not covered by MAINTAINERS.
scripts/get_maintainer.pl falls back to git then, unless you say
--no-git-fallback.  Copies sent there tends to annoy their recipients
without accomplishing all that much.

Two obvious improvements:

* Easy: Flip scripts/get_maintainer.pl's default to --no-git-fallback.
  I'll post the obvious patch, please raise your objections there.

* Harder: improve MAINTAINERS coverage.

Let me back up subjective experience with hard data.  The tree has quite
a few files:

$ git-ls-files | wc -l
3746

Counting them by extension:

$ git-ls-files | sed -n 's#.*/##;s#.*\.##p' | sort | uniq -c | sort -nr
   1836 c
818 h
133 out
105 S
 97 objs
 69 s
 64 mak
 48 json
 47 py
 41 txt
 33 exit
 33 err
 16 xml
 16 bin
 13 rom
 12 sh
 12 dsl
[Long tail that doesn't add up to anything interesting omitted]

Let's look for .c not in MAINTAINERS:

$ for i in `git-ls-files`; do [ `scripts/get_maintainer.pl -f 
--no-git-fallback $i` ] || echo $i; done unmaintained-files
$ grep -c '\.c$' unmaintained-files
1066

That's almost 60%.  Not good.

Apparently, nobody cares for tests:

$ grep '^tests/' unmaintained-files | grep -c '\.c$'
654
$ git-ls-files | grep '^tests/' | grep -c '\.c$'
664

Filtering those out leaves us with 412 unmaintained out of of 1172, or
35% unmaintained.  Not good even if we (foolishly!) considered tests not
worthy of maintenance.

Maybe unmaintained files are much smaller.  David A.  Wheeler's
SLOCCount counts 570kSLOC in 1212 maintained files (+140 files sloccount
doesn't know how to count) vs. 300kSLOC in 1798 unmaintained files (+596
uncounted), or 35% unmaintained SLOC.  With tests/ ignored, it's 30%.
So, unmaintained files are indeed smaller, but 30-something percent is
still not good.

Where are the unmaintained files?  Top-scoring directories outside
tests/ and include/, files in subdirs not counted:

#files   directory
84  68%  .
63 100%  default-configs
48 100%  pc-bios
43  97%  stubs
39 100%  util
37 100%  pc-bios/keymaps
35  81%  hw/display
32  94%  scripts
26  92%  docs
26 100%  libcacard
23  69%  hw/misc
22  57%  hw/net
21  63%  hw/intc
19 100%  roms
18 100%  disas
18  56%  hw/timer
16 100%  hw/core
15  53%  hw/char
15 100%  qga
14 100%  docs/specs
12  92%  hw/input
12 100%  qobject
12 100%  target-m68k
11 100%  backends
11 100%  pc-bios/s390-ccw
10  71%  hw/dma

Ideas?  Takers?



Re: [Qemu-devel] MAINTAINERS leaves too many files uncovered

2014-10-20 Thread Paolo Bonzini

On 10/20/2014 11:19 AM, Markus Armbruster wrote:

In my experience, too many files are not covered by MAINTAINERS.
scripts/get_maintainer.pl falls back to git then, unless you say
--no-git-fallback.  Copies sent there tends to annoy their recipients
without accomplishing all that much.

Two obvious improvements:

* Easy: Flip scripts/get_maintainer.pl's default to --no-git-fallback.
   I'll post the obvious patch, please raise your objections there.


In many cases it annoys recipients.  In other cases, the top 1-2 results 
are actually a good match for a prospective maintainer.  I suspect this 
is the case for most tests, in fact.


Paolo