Andrew Morton writes: > Nikita Danilov wrote: > > > > +#define pagevec_for_each_page(_v, _i, _p, _z) \ > > +for (_i = 0, _z = NULL; \ > > + ((_i) < pagevec_count(_v) && (__guardloop(_v, _i, _p, _z), 1)) || \ > > + (__postloop(_v, _i, _p, _z), 0); \ > > + (_i)++) > > Sorry, this looks more like a dirtyup to me ;) Don't tell me you are not great fan on comma operator abuse. :) Anyway, idea is that by hiding complexity it loop macro, we get rid of a maze of pvec-loops in swap.c all alike. Attached is next, more typeful variant. Compilebootentested. Nikita.