strange code in include/linux/kernel_stat.h

From: Dmitri Vorobiev
Date: Fri Mar 27 2009 - 06:31:36 EST


Hi,

Depending on whether the CONFIG_GENERIC_HARDIRQS option is enabled or not, the header file include/linux/kernel_stat.h defines the following two entities:

- the macro kstat_irqs_this_cpu for the case when CONFIG_GENERIC_HARDIRQS is set:

#define kstat_irqs_this_cpu(DESC) \
((DESC)->kstat_irqs[smp_processor_id()])

- another macro with the same name as the macro above but for the case CONFIG_GENERIC_HARDIRQS is not set:

#define kstat_irqs_this_cpu(irq) \
(kstat_this_cpu.irqs[irq])

Apparently, it is assumed that the types for the macro argument are different, and depend on the value of CONFIG_GENERIC_HARDIRQS. Is this intentional?

Thanks,
Dmitri

--
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/