diff --git a/[refs] b/[refs] index e87c091376e2..0e78f72f9868 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 323a01c50832749d23664954f91df6fc43e73975 +refs/heads/master: 23d0b8b053391afe15c9667d80de77ca88e18b8b diff --git a/trunk/include/asm-x86_64/hardirq.h b/trunk/include/asm-x86_64/hardirq.h index 64a65ce2f41f..95d5e090ed89 100644 --- a/trunk/include/asm-x86_64/hardirq.h +++ b/trunk/include/asm-x86_64/hardirq.h @@ -6,6 +6,9 @@ #include #include +/* We can have at most NR_VECTORS irqs routed to a cpu at a time */ +#define MAX_HARDIRQS_PER_CPU NR_VECTORS + #define __ARCH_IRQ_STAT 1 #define local_softirq_pending() read_pda(__softirq_pending) diff --git a/trunk/include/linux/hardirq.h b/trunk/include/linux/hardirq.h index 50d8b5744cf6..612472aaa79c 100644 --- a/trunk/include/linux/hardirq.h +++ b/trunk/include/linux/hardirq.h @@ -28,11 +28,16 @@ #ifndef HARDIRQ_BITS #define HARDIRQ_BITS 12 + +#ifndef MAX_HARDIRQS_PER_CPU +#define MAX_HARDIRQS_PER_CPU NR_IRQS +#endif + /* * The hardirq mask has to be large enough to have space for potentially * all IRQ sources in the system nesting on a single CPU. */ -#if (1 << HARDIRQ_BITS) < NR_IRQS +#if (1 << HARDIRQ_BITS) < MAX_HARDIRQS_PER_CPU # error HARDIRQ_BITS is too low! #endif #endif