On 21.12.2023 12:06, Juergen Gross wrote:
> On 21.12.23 11:34, Jan Beulich wrote:
>> On 12.12.2023 13:57, Julien Grall wrote:
>>> On 12/12/2023 09:47, Juergen Gross wrote:
>>>> @@ -109,12 +109,16 @@ struct lock_profile_qhead {
>>>> spinlock_t l = _SPIN_LOCK_UNLOCKED(NULL);
>>>> \
>>>> static struct lock_profile __lock_profile_data_##l =
>>>> _LOCK_PROFILE(l); \
>>>> _LOCK_PROFILE_PTR(l)
>>>> +#define DEFINE_RSPINLOCK(l)
>>>> \
>>>> + rspinlock_t l = _SPIN_LOCK_UNLOCKED(NULL);
>>>> \
>>>> + static struct lock_profile __lock_profile_data_##l =
>>>> _LOCK_PROFILE(l); \
>>>> + _LOCK_PROFILE_PTR(l)
>>>>
>>>> -#define spin_lock_init_prof(s, l)
>>>> \
>>>> +#define __spin_lock_init_prof(s, l, locktype)
>>>> \
>>>
>>> If I am not mistaken the double-underscore prefix is a violation in
>>> MISRA. So can this be renamed to:
>>>
>>> spin_lock_init_prof__()?
>>
>> Is the new parameter needed at all? Can't we use typeof((s)->l) in place of
>> passing the type explicitly?
>
> IMO spin_lock_init_prof() should be usable for spinlock_t only, and
> rspin_lock_init_prof() for rspinlock_t only. Using typeof() would make
> either of them usable for both types.
Fair point.
Jan