Re: [PATCH v2 03/45] notifier: Add atomic/blocking_notifier_has_unique_priority()
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()
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()
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()
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