Re: [PATCH v3 1/4] wait.[ch]: Introduce the simple waitqueue (swait) implementation

From: Peter Zijlstra
Date: Wed Nov 18 2015 - 05:34:11 EST

On Wed, Nov 04, 2015 at 11:33:51AM +0100, Thomas Gleixner wrote:
> On Tue, 20 Oct 2015, Daniel Wagner wrote:
> > +
> > +extern void swake_up(struct swait_queue_head *q);
> > +extern void swake_up_all(struct swait_queue_head *q);
> > +extern void swake_up_locked(struct swait_queue_head *q);
> I intentionally named these functions swait_wake* in my initial
> implementation for two reasons:
> - typoing wake_up vs. swake_up only emits a compiler warning and does
> not break the build

-Werror ftw, but yes good point.

> - I really prefer new infrastructure to have a consistent prefix
> which reflects the "subsystem". That's simpler to read and simpler
> to grep for.

I generally agree, but seeing how this is really an 'extension' of
existing infrastructure, I went along with this.

> > +extern void __prepare_to_swait(struct swait_queue_head *q, struct swait_queue *wait);
> > +extern void prepare_to_swait(struct swait_queue_head *q, struct swait_queue *wait, int state);
> > +extern long prepare_to_swait_event(struct swait_queue_head *q, struct swait_queue *wait, int state);
> > +
> > +extern void __finish_swait(struct swait_queue_head *q, struct swait_queue *wait);
> > +extern void finish_swait(struct swait_queue_head *q, struct swait_queue *wait);
> Can we please go with the original names?
> swait_prepare()
> swait_prepare_locked()
> swait_finish()
> swait_finish_locked()
> Hmm?
> > +#define swait_event(wq, condition) \
> Here we have the same swait vs. wait problem as above. So either we
> come up with a slightly different name or have an explicit type check
> in __swait_event event.

Type check macros, otherwise you break the naming scheme you so
adamantly push for (or end up with horrid stuff like

I suppose we can do the rename as you propose to avoid single letter
typoes, but it does bug me to have two nearly identical bits of infra
with such dissimilar names.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at