[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] [RFC v2 0/9] error: auto propagated local_err
- To: Vladimir Sementsov-Ogievskiy <vsementsov@xxxxxxxxxxxxx>, "qemu-devel@xxxxxxxxxx" <qemu-devel@xxxxxxxxxx>
- From: Eric Blake <eblake@xxxxxxxxxx>
- Date: Tue, 24 Sep 2019 10:28:52 -0500
- Autocrypt: addr=eblake@xxxxxxxxxx; keydata= xsBNBEvHyWwBCACw7DwsQIh0kAbUXyqhfiKAKOTVu6OiMGffw2w90Ggrp4bdVKmCaEXlrVLU xphBM8mb+wsFkU+pq9YR621WXo9REYVIl0FxKeQo9dyQBZ/XvmUMka4NOmHtFg74nvkpJFCD TUNzmqfcjdKhfFV0d7P/ixKQeZr2WP1xMcjmAQY5YvQ2lUoHP43m8TtpB1LkjyYBCodd+LkV GmCx2Bop1LSblbvbrOm2bKpZdBPjncRNob73eTpIXEutvEaHH72LzpzksfcKM+M18cyRH+nP sAd98xIbVjm3Jm4k4d5oQyE2HwOur+trk2EcxTgdp17QapuWPwMfhaNq3runaX7x34zhABEB AAHNHkVyaWMgQmxha2UgPGVibGFrZUByZWRoYXQuY29tPsLAegQTAQgAJAIbAwULCQgHAwUV CgkICwUWAgMBAAIeAQIXgAUCS8fL9QIZAQAKCRCnoWtKJSdDahBHCACbl/5FGkUqJ89GAjeX RjpAeJtdKhujir0iS4CMSIng7fCiGZ0fNJCpL5RpViSo03Q7l37ss+No+dJI8KtAp6ID+PMz wTJe5Egtv/KGUKSDvOLYJ9WIIbftEObekP+GBpWP2+KbpADsc7EsNd70sYxExD3liwVJYqLc Rw7so1PEIFp+Ni9A1DrBR5NaJBnno2PHzHPTS9nmZVYm/4I32qkLXOcdX0XElO8VPDoVobG6 gELf4v/vIImdmxLh/w5WctUpBhWWIfQDvSOW2VZDOihm7pzhQodr3QP/GDLfpK6wI7exeu3P pfPtqwa06s1pae3ad13mZGzkBdNKs1HEm8x6zsBNBEvHyWwBCADGkMFzFjmmyqAEn5D+Mt4P zPdO8NatsDw8Qit3Rmzu+kUygxyYbz52ZO40WUu7EgQ5kDTOeRPnTOd7awWDQcl1gGBXgrkR pAlQ0l0ReO57Q0eglFydLMi5bkwYhfY+TwDPMh3aOP5qBXkm4qIYSsxb8A+i00P72AqFb9Q7 3weG/flxSPApLYQE5qWGSXjOkXJv42NGS6o6gd4RmD6Ap5e8ACo1lSMPfTpGzXlt4aRkBfvb NCfNsQikLZzFYDLbQgKBA33BDeV6vNJ9Cj0SgEGOkYyed4I6AbU0kIy1hHAm1r6+sAnEdIKj cHi3xWH/UPrZW5flM8Kqo14OTDkI9EtlABEBAAHCwF8EGAEIAAkFAkvHyWwCGwwACgkQp6Fr SiUnQ2q03wgAmRFGDeXzc58NX0NrDijUu0zx3Lns/qZ9VrkSWbNZBFjpWKaeL1fdVeE4TDGm I5mRRIsStjQzc2R9b+2VBUhlAqY1nAiBDv0Qnt+9cLiuEICeUwlyl42YdwpmY0ELcy5+u6wz mK/jxrYOpzXKDwLq5k4X+hmGuSNWWAN3gHiJqmJZPkhFPUIozZUCeEc76pS/IUN72NfprZmF Dp6/QDjDFtfS39bHSWXKVZUbqaMPqlj/z6Ugk027/3GUjHHr8WkeL1ezWepYDY7WSoXwfoAL 2UXYsMAr/uUncSKlfjvArhsej0S4zbqim2ZY6S8aRWw94J3bSvJR+Nwbs34GPTD4Pg==
- Cc: "stefanha@xxxxxxxxxx" <stefanha@xxxxxxxxxx>, "codyprime@xxxxxxxxx" <codyprime@xxxxxxxxx>, "jan.kiszka@xxxxxxxxxxx" <jan.kiszka@xxxxxxxxxxx>, "berto@xxxxxxxxxx" <berto@xxxxxxxxxx>, "zhang.zhanghailiang@xxxxxxxxxx" <zhang.zhanghailiang@xxxxxxxxxx>, "qemu-block@xxxxxxxxxx" <qemu-block@xxxxxxxxxx>, "arikalo@xxxxxxxxxxxx" <arikalo@xxxxxxxxxxxx>, "pasic@xxxxxxxxxxxxx" <pasic@xxxxxxxxxxxxx>, "hpoussin@xxxxxxxxxxx" <hpoussin@xxxxxxxxxxx>, "anthony.perard@xxxxxxxxxx" <anthony.perard@xxxxxxxxxx>, "samuel.thibault@xxxxxxxxxxxx" <samuel.thibault@xxxxxxxxxxxx>, "philmd@xxxxxxxxxx" <philmd@xxxxxxxxxx>, "green@xxxxxxxxxxxxxx" <green@xxxxxxxxxxxxxx>, "lvivier@xxxxxxxxxx" <lvivier@xxxxxxxxxx>, "ehabkost@xxxxxxxxxx" <ehabkost@xxxxxxxxxx>, "xiechanglong.d@xxxxxxxxx" <xiechanglong.d@xxxxxxxxx>, "pl@xxxxxxx" <pl@xxxxxxx>, "dgilbert@xxxxxxxxxx" <dgilbert@xxxxxxxxxx>, "b.galvani@xxxxxxxxx" <b.galvani@xxxxxxxxx>, "eric.auger@xxxxxxxxxx" <eric.auger@xxxxxxxxxx>, "alex.williamson@xxxxxxxxxx" <alex.williamson@xxxxxxxxxx>, "ronniesahlberg@xxxxxxxxx" <ronniesahlberg@xxxxxxxxx>, "jsnow@xxxxxxxxxx" <jsnow@xxxxxxxxxx>, "rth@xxxxxxxxxxx" <rth@xxxxxxxxxxx>, "kwolf@xxxxxxxxxx" <kwolf@xxxxxxxxxx>, "andrew@xxxxxxxx" <andrew@xxxxxxxx>, "crwulff@xxxxxxxxx" <crwulff@xxxxxxxxx>, "sundeep.lkml@xxxxxxxxx" <sundeep.lkml@xxxxxxxxx>, "michael@xxxxxxxx" <michael@xxxxxxxx>, "qemu-ppc@xxxxxxxxxx" <qemu-ppc@xxxxxxxxxx>, "kbastian@xxxxxxxxxxxxxxxxxxxxx" <kbastian@xxxxxxxxxxxxxxxxxxxxx>, "imammedo@xxxxxxxxxx" <imammedo@xxxxxxxxxx>, "fam@xxxxxxxxxx" <fam@xxxxxxxxxx>, "peter.maydell@xxxxxxxxxx" <peter.maydell@xxxxxxxxxx>, "sheepdog@xxxxxxxxxxxxxx" <sheepdog@xxxxxxxxxxxxxx>, "david@xxxxxxxxxx" <david@xxxxxxxxxx>, "palmer@xxxxxxxxxx" <palmer@xxxxxxxxxx>, "thuth@xxxxxxxxxx" <thuth@xxxxxxxxxx>, "jcmvbkbc@xxxxxxxxx" <jcmvbkbc@xxxxxxxxx>, "hare@xxxxxxxx" <hare@xxxxxxxx>, "sstabellini@xxxxxxxxxx" <sstabellini@xxxxxxxxxx>, "arei.gonglei@xxxxxxxxxx" <arei.gonglei@xxxxxxxxxx>, "marcel.apfelbaum@xxxxxxxxx" <marcel.apfelbaum@xxxxxxxxx>, "namei.unix@xxxxxxxxx" <namei.unix@xxxxxxxxx>, "atar4qemu@xxxxxxxxx" <atar4qemu@xxxxxxxxx>, "farman@xxxxxxxxxxxxx" <farman@xxxxxxxxxxxxx>, "amit@xxxxxxxxxx" <amit@xxxxxxxxxx>, "sw@xxxxxxxxxxx" <sw@xxxxxxxxxxx>, "groug@xxxxxxxx" <groug@xxxxxxxx>, "qemu-s390x@xxxxxxxxxx" <qemu-s390x@xxxxxxxxxx>, "qemu-arm@xxxxxxxxxx" <qemu-arm@xxxxxxxxxx>, "peter.chubb@xxxxxxxxxxxx" <peter.chubb@xxxxxxxxxxxx>, "clg@xxxxxxxx" <clg@xxxxxxxx>, "shorne@xxxxxxxxx" <shorne@xxxxxxxxx>, "qemu-riscv@xxxxxxxxxx" <qemu-riscv@xxxxxxxxxx>, "cohuck@xxxxxxxxxx" <cohuck@xxxxxxxxxx>, "amarkovic@xxxxxxxxxxxx" <amarkovic@xxxxxxxxxxxx>, "aurelien@xxxxxxxxxxx" <aurelien@xxxxxxxxxxx>, "pburton@xxxxxxxxxxxx" <pburton@xxxxxxxxxxxx>, "sagark@xxxxxxxxxxxxxxxxx" <sagark@xxxxxxxxxxxxxxxxx>, "jasowang@xxxxxxxxxx" <jasowang@xxxxxxxxxx>, "kraxel@xxxxxxxxxx" <kraxel@xxxxxxxxxx>, "edgar.iglesias@xxxxxxxxx" <edgar.iglesias@xxxxxxxxx>, "gxt@xxxxxxxxxxxxxxx" <gxt@xxxxxxxxxxxxxxx>, "ari@xxxxxxxxxx" <ari@xxxxxxxxxx>, "quintela@xxxxxxxxxx" <quintela@xxxxxxxxxx>, "mdroth@xxxxxxxxxxxxxxxxxx" <mdroth@xxxxxxxxxxxxxxxxxx>, "lersek@xxxxxxxxxx" <lersek@xxxxxxxxxx>, "borntraeger@xxxxxxxxxx" <borntraeger@xxxxxxxxxx>, "antonynpavlov@xxxxxxxxx" <antonynpavlov@xxxxxxxxx>, "dillaman@xxxxxxxxxx" <dillaman@xxxxxxxxxx>, "joel@xxxxxxxxx" <joel@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, "integration@xxxxxxxxxxx" <integration@xxxxxxxxxxx>, "balrogg@xxxxxxxxx" <balrogg@xxxxxxxxx>, "rjones@xxxxxxxxxx" <rjones@xxxxxxxxxx>, "Andrew.Baumann@xxxxxxxxxxxxx" <Andrew.Baumann@xxxxxxxxxxxxx>, "mreitz@xxxxxxxxxx" <mreitz@xxxxxxxxxx>, "walling@xxxxxxxxxxxxx" <walling@xxxxxxxxxxxxx>, Denis Lunev <den@xxxxxxxxxxxxx>, "mst@xxxxxxxxxx" <mst@xxxxxxxxxx>, "mark.cave-ayland@xxxxxxxxxxxx" <mark.cave-ayland@xxxxxxxxxxxx>, "v.maffione@xxxxxxxxx" <v.maffione@xxxxxxxxx>, "marex@xxxxxxx" <marex@xxxxxxx>, "armbru@xxxxxxxxxx" <armbru@xxxxxxxxxx>, "marcandre.lureau@xxxxxxxxxx" <marcandre.lureau@xxxxxxxxxx>, "alistair@xxxxxxxxxxxxx" <alistair@xxxxxxxxxxxxx>, "paul.durrant@xxxxxxxxxx" <paul.durrant@xxxxxxxxxx>, "pavel.dovgaluk@xxxxxxxxx" <pavel.dovgaluk@xxxxxxxxx>, "g.lettieri@xxxxxxxxxxxx" <g.lettieri@xxxxxxxxxxxx>, "rizzo@xxxxxxxxxxxx" <rizzo@xxxxxxxxxxxx>, "david@xxxxxxxxxxxxxxxxxxxxx" <david@xxxxxxxxxxxxxxxxxxxxx>, "akrowiak@xxxxxxxxxxxxx" <akrowiak@xxxxxxxxxxxxx>, "berrange@xxxxxxxxxx" <berrange@xxxxxxxxxx>, "xiaoguangrong.eric@xxxxxxxxx" <xiaoguangrong.eric@xxxxxxxxx>, "pmorel@xxxxxxxxxxxxx" <pmorel@xxxxxxxxxxxxx>, "wencongyang2@xxxxxxxxxx" <wencongyang2@xxxxxxxxxx>, "jcd@xxxxxxxxxxxxxxx" <jcd@xxxxxxxxxxxxxxx>, "pbonzini@xxxxxxxxxx" <pbonzini@xxxxxxxxxx>, "stefanb@xxxxxxxxxxxxx" <stefanb@xxxxxxxxxxxxx>
- Delivery-date: Wed, 25 Sep 2019 04:11:49 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Openpgp: preference=signencrypt
On 9/24/19 9:12 AM, Vladimir Sementsov-Ogievskiy wrote:
>>> 3. What to do with huge auto-generated commit 07? Should I split it
>>> per-maintainer or per-subsystem, or leave it as-is?
>>
>> It's big. I'd split it into multiple patches (and reduce the cc - except
>> for the cover letter, the rest of the patches can be limited to the
>> actual maintainer/subsystem affected rather than everyone involved
>> anywhere else in the series. With the current large cc, anyone that
>> replies gets several mail bounces about "too many recipients"). It may
>> be easier to split along directory boundaries than by maintainer
>> boundaries. Markus has applied large tree-wide Coccinelle cleanups
>> before, maybe he has some advice.
>
>
> If split by subsystem it would be 200+ patches:
> git diff --name-only | while read f; do scripts/get_maintainer.pl -f $f
> --subsystem --no-rolestats 2>/dev/null | grep -v @ | head -1; done | sort |
> uniq | wc -l
> 205
>
>
> Try to look at larger subsystem:
> git diff --name-only | while read f; do scripts/get_maintainer.pl -f $f
> --subsystem --no-rolestats 2>/dev/null | grep -v @ | tail -2 | head -1; done
> | sort | uniq | wc -l
> 139
>
> still too many.. Or is it OK?
Hmm - that becomes a tradeoff in length of the series (where individual
patches may be reviewed fast, but where the overall process may be
bogged down by sheer length), vs. length of individual emails (where the
email itself is daunting, but as the review is mechanical and done by
automation, it becomes a matter of spot-checking if we trust that the
automation was done correctly). You can probably group it in fewer
patches, by joining smaller patches across a couple of subsystems. It's
an art form, there's probably several ways to do it that would work, and
it comes down to a judgment call on how much work you want to do to try
and reduce other's work in reviewing it. Maybe even an off-hand split
of gathering files until you reach about 500 or so lines per diff. I
wish I had easier advice on how to tackle this sort of project in the
way that will get the fastest response time.
>>> vl.c | 13 +-
>>> scripts/coccinelle/auto-propagated-errp.cocci | 82 +++++++
>>> 319 files changed, 2729 insertions(+), 4245 deletions(-)
>>> create mode 100644 scripts/coccinelle/auto-propagated-errp.cocci
>>
>> The diffstat is huge, but promising.
We also learned in reviews of 7/9 that the diffstat here is misleading,
the number of insertions will definitely be increasing once the
Coccinelle script is fixed to insert the macro in more functions, but
hopefully it's still a net reduction in overall lines.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|