Messages in this thread | | | Subject | Re: [tip:x86/irq] x86: apic: Fix mismerge, add arch_probe_nr_irqs() again | From | (Eric W. Biederman) | Date | Mon, 01 Mar 2010 13:58:55 -0800 |
| |
Ian Campbell <ijc@hellion.org.uk> writes:
> On Mon, 2010-03-01 at 10:34 -0800, Eric W. Biederman wrote: >> >> 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. > > I saw a patch to fix this one recently, "xen: Remove unnecessary arch > specific xen irq functions.", right?
Yes.
You probably want to modify evtnchn_to_irq to return an irq_desc.
It is going to take a bit but our next big step for the irq methods is to make them all take struct irq_desc pointers instead of unsigned int irq, so we don't have to repeat the lookups.
>> - Xen has an array irq_info[NR_IRQS] one of the last static arrays >> sized at NR_IRQs in the entire kernel. > > Hopefully the same info as is in that array could (and indeed should) be > instead stored in irq_desc->chip_data. Would you object to > arch_init_copy_chip_data and arch_free_chip_data becoming function > pointers within the struct irq_chip?
No objections. Now that I see those methods it looks like they always should have been in irq_chip.
>> 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. > > If you know of other aspects of the Xen code where this is the case (or > find them in the future) please let me know, I'll do my best to fix > them.
Good to hear.
Right now I am being a bit of a jack in the box reviewer. I don't have time to work on the irq code right now but I occasionally pop out of my box and review the code and try to keep it from descending into an unmaintainable disaster.
Eric
| |