Re: [tip:x86/mce3] x86, mce: trivial clean up for mce_amd_64.c

From: Andi Kleen
Date: Fri May 29 2009 - 15:54:55 EST

> ERROR: Macros with multiple statements should be enclosed in a do - while
> loop

That seems more like a bug -- clearly you cannot put
a do {} while loop into a declaration like here. I don't know who comes up
with these useless warnings? At least they should be made warnings,
not errors and then be ignored if they don't make any sense like this.

The change imho makes the code worse.

> +#define THRESHOLD_ATTR(_name, _mode, _show, _store) \
> +{ \
> + .attr = {.name = __stringify(_name), .mode = _mode }, \
> + .show = _show, \
> + .store = _store, \
> +};

> WARNING: usage of NR_CPUS is often wrong - consider using cpu_possible(),
> num_possible_cpus(), for_each_possible_cpu(), etc
> + if (cpu >= NR_CPUS)

In this case it's not wrong either. It's a bit paranoid, but not wrong.

NR_CPUS is only wrong when used in arrays.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at