Re: strange code in include/linux/kernel_stat.h

From: Dmitri Vorobiev
Date: Thu Apr 02 2009 - 07:06:15 EST


Dmitri Vorobiev wrote:
> 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?
>

I still would like to know what's going on there. Anyone knowledgeable out there, please?

Dmitri

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

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