qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [Qemu-devel] [PATCH 01/16] coccinelle: use macro DIV_


From: Laurent Vivier
Subject: Re: [Qemu-trivial] [Qemu-devel] [PATCH 01/16] coccinelle: use macro DIV_ROUND_UP instead of (((n) + (d) - 1) /(d))
Date: Tue, 31 May 2016 19:24:49 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0


On 31/05/2016 19:12, Eric Blake wrote:
> On 05/31/2016 10:35 AM, Laurent Vivier wrote:
>> sample from http://coccinellery.org/
>>
>> Signed-off-by: Laurent Vivier <address@hidden>
>> ---
>>  scripts/coccinelle/round.cocci | 19 +++++++++++++++++++
>>  1 file changed, 19 insertions(+)
>>  create mode 100644 scripts/coccinelle/round.cocci
>>
>> diff --git a/scripts/coccinelle/round.cocci b/scripts/coccinelle/round.cocci
>> new file mode 100644
>> index 0000000..ed06773
>> --- /dev/null
>> +++ b/scripts/coccinelle/round.cocci
>> @@ -0,0 +1,19 @@
>> +// Use macro DIV_ROUND_UP instead of (((n) + (d) - 1) /(d))
>> +@@
>> +expression e1;
>> +expression e2;
>> +@@
>> +(
>> +- ((e1) + e2 - 1) / (e2)
>> ++ DIV_ROUND_UP(e1,e2)
> 
> Should this also cover things like:
> 
> ((e1) & e2) / (e2 + 1)

It's true only if (e2 + 1) is a power of two... and I don't know if we
can check that with coccinelle... perhaps we can filter them manually then.

> or with bit-shifts in place of division? I don't know how much
> coccinelle can spot other issues (at least until I review the rest of
> your series), but at any rate your patch looks like a good first start.
> I also like the fact that we are committing the script into the repo, so
> that we can reuse it to catch future additions of the open-coded forms.
> 
> Reviewed-by: Eric Blake <address@hidden>
> 

Thanks,
Laurent



reply via email to

[Prev in Thread] Current Thread [Next in Thread]