Re: [PATCH 1/4] kernel.h: Implement DIV_ROUND_CLOSEST_ULL

Jeff Epler
2015-03-23T12:34:04Z

On Fri, Mar 20, 2015 at 11:14:40AM +0000, Javi Merino wrote:
> +/*
> + * Same as above but for u64 dividends. divisor must be a 32-bit
> + * number.
> + */
> +#define DIV_ROUND_CLOSEST_ULL(x, divisor)( \
> +{ \
> + unsigned long long _tmp = (x) + (divisor) / 2; \
> + do_div(_tmp, divisor); \
> + _tmp; \
> +} \
> +)

The macro evaluates 'divisor' twice.

Jeff