Re: [PATCH v2 03/45] notifier: Add atomic/blocking_notifier_has_unique_priority()

2021-10-28 Thread Dmitry Osipenko
29.10.2021 00:32, Dmitry Osipenko пишет:
>>> +   /*
>>> +* This code gets used during boot-up, when task switching is
>>> +* not yet working and interrupts must remain disabled.  At
>> One space is enough.
> This comment is replicated multiple times over this source file. You can
> find it before each down_write(). I borrowed the text as-is, for
> consistency.

Actually, it should be down_read() here since there are no writes. I'll
correct it in v3.



Re: [PATCH v2 03/45] notifier: Add atomic/blocking_notifier_has_unique_priority()

2021-10-28 Thread Dmitry Osipenko
28.10.2021 14:00, Andy Shevchenko пишет:
>> +while ((*nl) != NULL && (*nl)->priority >= n->priority) {
> ' != NULL' is not needed.
> 

I'll change it in v3, thanks.



Re: [PATCH v2 03/45] notifier: Add atomic/blocking_notifier_has_unique_priority()

2021-10-28 Thread Dmitry Osipenko
28.10.2021 14:00, Andy Shevchenko пишет:
> On Thu, Oct 28, 2021 at 12:16:33AM +0300, Dmitry Osipenko wrote:
>> Add atomic/blocking_notifier_has_unique_priority() helpers which return
>> true if given handler has unique priority.
> 
> ...
> 
>> +/**
>> + *  atomic_notifier_has_unique_priority - Checks whether notifier's 
>> priority is unique
>> + *  @nh: Pointer to head of the atomic notifier chain
>> + *  @n: Entry in notifier chain to check
>> + *
>> + *  Checks whether there is another notifier in the chain with the same 
>> priority.
>> + *  Must be called in process context.
>> + *
>> + *  Returns true if priority is unique, false otherwise.
> 
> Why this indentation?

This is the same doc-comment style used by this file in general. I
haven't tried to invent anything new.


> ...
> 
>> +/*
>> + * This code gets used during boot-up, when task switching is
>> + * not yet working and interrupts must remain disabled.  At
> 
> One space is enough.

This comment is replicated multiple times over this source file. You can
find it before each down_write(). I borrowed the text as-is, for
consistency.



Re: [PATCH v2 03/45] notifier: Add atomic/blocking_notifier_has_unique_priority()

2021-10-28 Thread Andy Shevchenko
On Thu, Oct 28, 2021 at 12:16:33AM +0300, Dmitry Osipenko wrote:
> Add atomic/blocking_notifier_has_unique_priority() helpers which return
> true if given handler has unique priority.

...

> +/**
> + *   atomic_notifier_has_unique_priority - Checks whether notifier's 
> priority is unique
> + *   @nh: Pointer to head of the atomic notifier chain
> + *   @n: Entry in notifier chain to check
> + *
> + *   Checks whether there is another notifier in the chain with the same 
> priority.
> + *   Must be called in process context.
> + *
> + *   Returns true if priority is unique, false otherwise.

Why this indentation?

> + */
> +bool atomic_notifier_has_unique_priority(struct atomic_notifier_head *nh,
> + struct notifier_block *n)
> +{
> + struct notifier_block **nl = >head;
> + unsigned long flags;
> + bool ret = true;
> +
> + spin_lock_irqsave(>lock, flags);
> +
> + while ((*nl) != NULL && (*nl)->priority >= n->priority) {

' != NULL' is redundant.

> + if ((*nl)->priority == n->priority && (*nl) != n) {
> + ret = false;
> + break;
> + }
> +
> + nl = &((*nl)->next);
> + }
> +
> + spin_unlock_irqrestore(>lock, flags);
> +
> + return ret;
> +}

...

> + /*
> +  * This code gets used during boot-up, when task switching is
> +  * not yet working and interrupts must remain disabled.  At

One space is enough.

> +  * such times we must not call down_write().
> +  */

> + while ((*nl) != NULL && (*nl)->priority >= n->priority) {

' != NULL' is not needed.

> + if ((*nl)->priority == n->priority && (*nl) != n) {
> + ret = false;
> + break;
> + }
> +
> + nl = &((*nl)->next);
> + }

-- 
With Best Regards,
Andy Shevchenko