On 17.02.2026 10:47, Andrew Cooper wrote:
> On 17/02/2026 8:35 am, Jan Beulich wrote:
>> wake_up_one() isn't used at all, so violates Misra rule 2.1 (unreachable
>> code). wake_up_all() is only used locally, yet rather than making it
>> static its sole user can invoke wake_up_nr() in the intended way directly.
>>
>> Signed-off-by: Jan Beulich <[email protected]>
>>
>> --- a/xen/common/wait.c
>> +++ b/xen/common/wait.c
>> @@ -85,11 +85,6 @@ void init_waitqueue_head(struct waitqueu
>>      INIT_LIST_HEAD(&wq->list);
>>  }
>>  
>> -void destroy_waitqueue_head(struct waitqueue_head *wq)
>> -{
>> -    wake_up_all(wq);
>> -}
>> -
>>  void wake_up_nr(struct waitqueue_head *wq, unsigned int nr)
>>  {
>>      struct waitqueue_vcpu *wqv;
>> @@ -107,12 +102,7 @@ void wake_up_nr(struct waitqueue_head *w
>>      spin_unlock(&wq->lock);
>>  }
>>  
>> -void wake_up_one(struct waitqueue_head *wq)
>> -{
>> -    wake_up_nr(wq, 1);
>> -}
>> -
>> -void wake_up_all(struct waitqueue_head *wq)
>> +void destroy_waitqueue_head(struct waitqueue_head *wq)
>>  {
>>      wake_up_nr(wq, UINT_MAX);
>>  }
> 
> The diff looks wonky because you also moved destroy_waitqueue_head(),
> despite wake_up_nr() not being static.
> 
> Keeping destroy_waitqueue_head() in it's old location will make the diff
> smaller and more obvious.

The diff size doesn't really change. As to "more obvious" - yes, the deletion
of the two functions is more obvious then. The "keep the UINT_MAX use" aspect
then becomes less obvious. That's why I did it the way shown. I'm okay doing
it the other way, if that eases it making progress.

Jan

Reply via email to