Messages in this thread | | | Subject | Re: [PATCH 0/8] tip related: radix tree for spareseirq and logical flat clean up | From | (Eric W. Biederman) | Date | Sat, 13 Feb 2010 15:14:45 -0800 |
| |
Yinghai Lu <yinghai@kernel.org> writes:
> On 02/13/2010 04:04 AM, Eric W. Biederman wrote: >>> >>> #ifdef CONFIG_X86_LOCAL_APIC >>> Index: linux-2.6/arch/x86/lguest/boot.c >>> =================================================================== >>> --- linux-2.6.orig/arch/x86/lguest/boot.c >>> +++ linux-2.6/arch/x86/lguest/boot.c >>> @@ -819,7 +819,7 @@ static void __init lguest_init_IRQ(void) >>> >>> for (i = FIRST_EXTERNAL_VECTOR; i < NR_VECTORS; i++) { >>> /* Some systems map "vectors" to interrupts weirdly. Not us! */ >>> - __get_cpu_var(vector_irq)[i] = i - FIRST_EXTERNAL_VECTOR; >>> + __get_cpu_var(vector_desc)[i] = irq_to_desc(i - FIRST_EXTERNAL_VECTOR); >>> if (i != SYSCALL_VECTOR) >>> set_intr_gate(i, interrupt[i - FIRST_EXTERNAL_VECTOR]); >>> } >> >> YH It appears that irq_to_desc_alloc_node has not been called yet >> so the setting of vector_desc needs to move to lguest_setup_irq. > > lguest is using sparseirq?
Apparently. The last commit in that region of code moved some of the work (irq_to_desc_alloc_node) into lguest_setup_irq because kmalloc would not work that early.
Certainly the long term direction is to figure out how to enable sparseirq unconditionally on x86.
Eric
| |