Hi Julien,

> On 28 Jul 2022, at 11:21, Julien Grall <jul...@xen.org> wrote:
> 
> 
> 
> On 28/07/2022 10:45, Bertrand Marquis wrote:
>>> On 28 Jul 2022, at 10:35, Julien Grall <jul...@xen.org> wrote:
>>> 
>>> 
>>> 
>>> On 28/07/2022 08:57, Bertrand Marquis wrote:
>>>> Hi Julien,
>>> 
>>> Hi Bertrand,
>>> 
>>>>> On 27 Jul 2022, at 16:46, Julien Grall <jul...@xen.org> wrote:
>>>>> 
>>>>> Hi Xenia,
>>>>> 
>>>>> On 27/07/2022 16:32, Xenia Ragiadakou wrote:
>>>>>> Remove unused macro atomic_xchg().
>>>>>> Signed-off-by: Xenia Ragiadakou <burzalod...@gmail.com>
>>>>>> ---
>>>>>> xen/arch/arm/include/asm/atomic.h | 2 --
>>>>>> 1 file changed, 2 deletions(-)
>>>>>> diff --git a/xen/arch/arm/include/asm/atomic.h 
>>>>>> b/xen/arch/arm/include/asm/atomic.h
>>>>>> index f5ef744b4b..a2dc125291 100644
>>>>>> --- a/xen/arch/arm/include/asm/atomic.h
>>>>>> +++ b/xen/arch/arm/include/asm/atomic.h
>>>>>> @@ -223,8 +223,6 @@ static inline int atomic_add_unless(atomic_t *v, int 
>>>>>> a, int u)
>>>>>> return __atomic_add_unless(v, a, u);
>>>>>> }
>>>>>> -#define atomic_xchg(v, new) (xchg(&((v)->counter), new))
>>>>>> -
>>>>> 
>>>>> While I agree this is unused today, the wrapper is quite trivial and part 
>>>>> of the generic API (x86 also provides one). So I am not in favor of 
>>>>> removing it just to please MISRA.
>>>>> 
>>>>> That said, if Bertrand and Stefano agrees with removing it then you 
>>>>> should also remove the x86 version to avoid inconsistency.
>>>> I think we can keep this and maybe add a comment on top to document a 
>>>> known violation:
>>>> /* TODO: MISRA_VIOLATION 2.5 */
>>> 
>>> While I am fine with this goal of the comment (i.e. indicating where Xen is 
>>> not MISRA compliant), I think this is one place where I would rather not 
>>> want one because it can get stale if someones decide to use the function.
>> I think the one doing that will have to update the comment otherwise we will 
>> never manage to have an analysis without findings.
> 
> I was under the impression that Xen will never officially follow some of the 
> MISRA rules. So I would expect the tools to be able to detect such cases so 
> we don't have to add a comment for every deviation on something we will never 
> support.
> 
>> Having those kind of comments in the code for violation also means that they 
>> must be updated if the violation is solved.
> 
> Right, but for thing like unused function, this is quite easy to miss by both 
> the developer and reviewers. So we are going to end up to comments for 
> nothing.
> 
>> Maybe we will need a run ignoring those to identify possible violations 
>> which are not violations anymore but this might be hard to do.
> 
> TBH, I think it would be best if we can teach the tools to ignore certain 
> rules.

Definitely it is possible to instruct the tool to ignore this you are right and 
for 2.5 we should (for some reason I was under the impression that we said we 
would follow 2.5 but accept deviations).

@Xenia: please ignore and do not add a comment for this.

I think we will need to distinguish 2 kind of not following:
- not following at all (disable in the tools)
- accepting some deviations (documented in the code)

As much as we can, I think we should target the second unless we have a lot of 
violations.

Cheers
Bertrand

> 
> Cheers,
> 
> -- 
> Julien Grall


Reply via email to