On Fri, Jul 15, 2016 at 01:39:40PM -0400, Waiman Long wrote:

> +struct dlock_list_head_percpu {
> +     struct list_head list;
> +     spinlock_t lock;
> +};

> +#define DLOCK_LIST_HEAD_PERCPU_INIT(name)                    \
> +     {                                                       \
> +             .list.prev = &name.list,                        \
> +             .list.next = &name.list,                        \
> +             .list.lock = __SPIN_LOCK_UNLOCKED(name),        \

What's .list.lock and how does that even compile?

> +extern bool dlock_list_next(struct dlock_list_head *dlist,
> +                         struct dlock_list_iter *iter);

Ugh...  Why not dlist_for_each_entry(), seeing that all users end up with
the same boilerplate?

Reply via email to