On Thu, Dec 10, 2015 at 09:23:57AM -0600, Josh Poimboeuf wrote:
Personally I would disagree. Something like:
if (list_is_first(&rq->queuelist, &nd->queue))
is much more readable to me than:
if (rq->queuelist.prev == &nd->queue)
The first one takes no effort for me -- it's almost English. While the
second one takes me a few seconds (and some precious brain cycles) to
decipher.
Maybe whether it's readable depends on how many years you've been
looking at the pattern. But IMHO we shouldn't make "having x # of years
staring at kernel code" a prerequisite for being able to read kernel
code.
I think understanding the list.h semantics is a requirement for writing
(or reading) non-trivial kernel code.