[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: Eric Blake <eblake@xxxxxxxxxx>, "qemu-devel@xxxxxxxxxx" <qemu-devel@xxxxxxxxxx>
- From: Vladimir Sementsov-Ogievskiy <vsementsov@xxxxxxxxxxxxx>
- Date: Tue, 24 Sep 2019 16:10:23 +0000
- Accept-language: ru-RU, en-US
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mkX9PA85Z3c+NsQAK74o/lDeyeQUnUYUnBRcLQhvkzc=; b=m9e67ytV5VqTgqfjCu3TIzYeWspr3nncVL6xcdrCNNRempzlLR9saH+q0XxzX/QwUvLSdhq2xvo4Hd1IsTELGRXAJ0vgrMJYaXdAcq9RWacG8rdWhDDZJQrvapr0KuM7SIapXZRg1dCSV5NUDSCK2GnrdXulJruj0gW+WyKYOQDEFutqwH7qKg/PGw+Bk8V/u+zXElaGPHeWy8zn8uQEHFIWRdaxSjMzUDn/X8j23Al1Z054ANfDSM6leX61KJ7LxdV2rlyeMxCH1tLKWPqbyIIRb+KVg/ExQQAw58nSsO9IbeY1bSEGzOL+n4Q9ufxbe6OQFKapMMok65QqjyVHZQ==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Wbo93jgSpJhitUlMrJBJiNZoCP9shTy/sRsWQa/0vK6ifNMftrmYAa+ivM8u7BHZeS0MgHuNbiJs2uxqLZ7Vf6u/k1y1YaoJSzp2Ne+Ei8ERo4fwrJ05DSPXlIzN4b54gDpaltX4ybvFTZILZkfDuebInrIxE+YXM75/lX7tOaH7jpMDTG3/weSMn4/jpO774hv8LpDsZiP9vZMdfIkROTcaHJeam4x/G1EPsoACPAqhR129aTFAjLXRsT8WYfTMF26kSmhEZ1OgFUyirx0y53T174vxmT7zI+TC+L6QRRI9tTdwsXyRgR8CD/DduCYz1JQw1J/zfzGk/wactgtkuQ==
- Authentication-results: spf=none (sender IP is ) smtp.mailfrom=vsementsov@xxxxxxxxxxxxx;
- 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:12:04 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Thread-index: AQHVcioNiDMY2yo+Z0yF9jZaFGvJZ6c5qyCAgAFm+wD//+MaAIAANo8AgAAAnICAAAD3AP//026A
- Thread-topic: [RFC v2 0/9] error: auto propagated local_err
24.09.2019 18:49, Vladimir Sementsov-Ogievskiy wrote:
> 24.09.2019 18:46, Vladimir Sementsov-Ogievskiy wrote:
>> 24.09.2019 18:44, Vladimir Sementsov-Ogievskiy wrote:
>>> 24.09.2019 18:28, Eric Blake wrote:
>>>> 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.
>
> git diff | wc -l
> 48941
>
> so, by 500 lines it would be 97 patches.
>
> Seems, we'll never be able to review this thing :(
>
> Any ideas?
>
> May be, separate big patch, which just add ERRP_FUNCTION_BEGIN() to all errp
> functions?
checked: for remaining improvements:
git diff | wc -l
20218
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
90
Still, too much..
I think we should switch to plan B, at least as something that may be merged to
4.2
>
>>>>
>>>>
>>>>>>> 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.
>>>>
>>>
>>> No hope for us: with fixed script I now see
>>>
>>> 919 files changed, 6425 insertions(+), 4234 deletions(-)
>>>
>>
>> Also, I have add include "qapi/error.h" to files, where errp only passed
>> to called functions (or for functions, which are not simple stubs):
>>
>> # git diff | grep '+#include' | wc -l
>> 253
>>
>>
>
>
--
Best regards,
Vladimir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|