Re: [tip:x86/irq] x86: apic: Fix mismerge, add arch_probe_nr_irqs() again

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Eric W. Biederman
Date: Monday, March 1, 2010 - 11:34 am

Ian Campbell <ijc@hellion.org.uk> writes:


Ingo's x86 tip tree I imagine.  I think this patch is slated for coming
in sometime this merge window so you should be able to see it
in 2.6.34-rc1.

This is a truly frustrating question.  At this point all of the
practical limitations are in the Xen code itself, and it has been that
way for the last couple of years. Looking at the x86_64 tree it looks
like the core work went in at the end of 2006 about 2.6.19.  Last I
looked the Xen dom0 kernel was stuck at the kernel just before the irq
scaling changes went in.  Every time I look the Xen code is doing
something stupid and unnecessary that makes scaling to large numbers
of irqs hard.

The changes YH is working on are the last couple of changes so that
we can seriously remove NR_IRQs and not have to pay a penalty of
a large static array on small machines when we have a kernel built
to support large machines and a large number of interrupts.

As of 2.6.33 the limitations in DomU support are:
- xen_evtchn_do_upcall starts with the irq number instead of
  the irq_desc, and happens to unnecessarily call into arch
  specific code.  
- Xen has an array irq_info[NR_IRQS] one of the last static arrays
  sized at NR_IRQs in the entire kernel.

One of the big reasons Xen dom0 irq support was not merged was because
merging it would effectively be a revert of the irq scaling work.

If you can fix the Xen code so it isn't dragging the rest of the
kernel down when it comes to large numbers of irqs more power to you.
For now I will continue to write little patches every once in a while
that bonk Xen domU on the head when something Xen domU is doing becomes a
bottleneck for the rest of the kernel.

Eric
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
x86: fix race in create_irq_nr on irq_desc, Brandon Philips, (Tue Feb 2, 8:31 pm)
Re: x86: fix race in create_irq_nr on irq_desc, Yinghai Lu, (Wed Feb 3, 3:20 am)
Re: x86: fix race in create_irq_nr on irq_desc, Yinghai Lu, (Wed Feb 3, 3:32 am)
Re: x86: fix race in create_irq_nr on irq_desc, Brandon Philips, (Wed Feb 3, 10:42 am)
Re: x86: fix race in create_irq_nr on irq_desc, Yinghai Lu, (Wed Feb 3, 12:31 pm)
Re: x86: fix race in create_irq_nr on irq_desc, Brandon Philips, (Wed Feb 3, 8:17 pm)
[PATCH] x86: keep chip_data in create_irq_nr, Yinghai Lu, (Fri Feb 5, 1:45 am)
Re: [PATCH] x86: keep chip_data in create_irq_nr, Brandon Philips, (Fri Feb 5, 2:05 pm)
Re: [PATCH] x86: keep chip_data in create_irq_nr, H. Peter Anvin, (Fri Feb 5, 2:42 pm)
[tip:x86/urgent] x86, irq: Keep chip_data in create_irq_nr ..., tip-bot for Brandon ..., (Thu Feb 18, 11:06 pm)
[tip:x86/irq] x86: apic: Fix mismerge, add arch_probe_nr_i ..., tip-bot for Ingo Molnar, (Fri Feb 26, 3:26 am)
Re: [tip:x86/irq] x86: apic: Fix mismerge, add arch_probe_ ..., Eric W. Biederman, (Sat Feb 27, 2:37 am)
Re: [tip:x86/irq] x86: apic: Fix mismerge, add arch_probe_ ..., Eric W. Biederman, (Sat Feb 27, 3:12 am)
[tip:x86/apic] x86: apic: Fix mismerge, add arch_probe_nr_ ..., tip-bot for Ingo Molnar, (Sat Feb 27, 5:57 am)
Re: [tip:x86/irq] x86: apic: Fix mismerge, add arch_probe_ ..., Eric W. Biederman, (Mon Mar 1, 11:34 am)
Re: [tip:x86/irq] x86: apic: Fix mismerge, add arch_probe_ ..., Jeremy Fitzhardinge, (Mon Mar 1, 3:01 pm)
Re: [PATCH] x86: namespace some I/O APIC related structure ..., Eric W. Biederman, (Wed Mar 10, 10:07 am)
Re: [PATCH] irq: move some interrupt arch_* functions into ..., Eric W. Biederman, (Wed Mar 10, 10:18 am)
Re: [PATCH] irq: move some interrupt arch_* functions into ..., Eric W. Biederman, (Wed Mar 10, 10:42 am)
Re: [PATCH] irq: move some interrupt arch_* functions into ..., Eric W. Biederman, (Wed Mar 10, 11:11 am)
Re: [PATCH] irq: move some interrupt arch_* functions into ..., Eric W. Biederman, (Wed Mar 10, 11:15 am)
Re: [PATCH] irq: move some interrupt arch_* functions into ..., Jeremy Fitzhardinge, (Wed Mar 10, 11:27 am)
Re: [PATCH] irq: move some interrupt arch_* functions into ..., Eric W. Biederman, (Wed Mar 10, 12:15 pm)