Messages in this thread | | | From | Rusty Russell <> | Subject | Re: Strange code in include/linux/cpumask.h | Date | Wed, 25 Mar 2009 15:41:11 +1030 |
| |
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.
| |