2006-01-03 23:36:20

by Jason Uhlenkott

[permalink] [raw]
Subject: [PATCH] x86_64: fix IRQ vector reservations

It looks like the new scalable TLB flush code for x86_64 is claiming
one more IRQ vector than it actually uses.

Signed-off-by: Jason Uhlenkott <[email protected]>


Index: linux/include/asm-x86_64/hw_irq.h
===================================================================
--- linux.orig/include/asm-x86_64/hw_irq.h 2006-01-02 19:21:10.000000000 -0800
+++ linux/include/asm-x86_64/hw_irq.h 2006-01-03 15:18:36.923399691 -0800
@@ -46,8 +46,6 @@
* some of the following vectors are 'rare', they are merged
* into a single vector (CALL_FUNCTION_VECTOR) to save vector space.
* TLB, reschedule and local APIC vectors are performance-critical.
- *
- * Vectors 0xf0-0xf9 are free (reserved for future Linux use).
*/
#define SPURIOUS_APIC_VECTOR 0xff
#define ERROR_APIC_VECTOR 0xfe
@@ -56,8 +54,8 @@
#define KDB_VECTOR 0xfb /* reserved for KDB */
#define THERMAL_APIC_VECTOR 0xfa
#define THRESHOLD_APIC_VECTOR 0xf9
-#define INVALIDATE_TLB_VECTOR_END 0xf8
-#define INVALIDATE_TLB_VECTOR_START 0xf0 /* f0-f8 used for TLB flush */
+#define INVALIDATE_TLB_VECTOR_END 0xf7
+#define INVALIDATE_TLB_VECTOR_START 0xf0 /* f0-f7 used for TLB flush */

#define NUM_INVALIDATE_TLB_VECTORS 8


2006-01-03 23:50:16

by Andi Kleen

[permalink] [raw]
Subject: Re: [PATCH] x86_64: fix IRQ vector reservations

On Wednesday 04 January 2006 00:35, Jason Uhlenkott wrote:
> It looks like the new scalable TLB flush code for x86_64 is claiming
> one more IRQ vector than it actually uses.

Thanks for noticing - you seem to have sharper eyes than me.

Should probably free the KDB vector too since it's totally useless
(it's an NMI and NMIs always get delivered to vector NMI_VECTOR)

-Andi