Re: Strange code in include/linux/cpumask.h

From: Rusty Russell
Date: Wed Mar 25 2009 - 01:11:27 EST


On Wednesday 25 March 2009 15:21:13 Nikanth Karthikesan wrote:
> Hi Rusty
>
> I do not understand this code.

Hi Nikanth,

That's OK, it's a little tricky.

> The conditional operator would always evaluates to true and return bitmap. So
> all it seems to does is
> #define to_cpumansk(bitmap) (struct cpumask *)(bitmap)

Yes, except that this insists that bitmap be an unsigned long * or you'll get
a warning. Otherwise the macro could be used on anything. And it needs to be
a macro to use it as a static initializer.

As the NR_CPUS bit arrays vanish, this macro will be used less and less; but
some of them will probably take a while.

Thanks for the question,
Rusty.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/