Mel Gorman writes: > + res->end = -(-res->end & ~(unsigned long)mask); \ > + res->end += mask; \ I think this is equivalent to res->end = (res->end + mask) | mask; and I have to say the latter seems more understandable to me (and doesn't need a cast) ... Regards, Paul.