On Fri, Feb 10, 2017 at 01:09:31PM +0900, Byungchul Park wrote: > +#define for_each_wake_list(task, node) \ > + for ((task) = llist_entry((node), struct task_struct, wake_entry); \ > + node; (node) = llist_next(node), \ > + (task) = llist_entry((node), struct task_struct, wake_entry)) > +
How about you make that llist_for_each(pos, member) or similar and replace all while (foo) { foo = llist_next(foo); } instances? Because most llist_next() users have the same pattern.