Re: The i386 and x86_64 genirq patches are wrong!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Eric W. Biederman <[email protected]> wrote:

> A little while ago I worked up some patches to that made x86 vectors 
> per cpu.  Allowing x86 to handle more than 256 irqs, which 
> significantly cleaned up the code.
> 
> The big stumbling block there was msi and it's totally backwards way 
> of allocating interrupts.  Getting msi to work with irqs and not 
> vectors is a lot of work, and very hard to make a clean patchset out 
> of.

yeah. The whole MSI irq remapping business is a total mess anyway: all 
that trouble we do to compensate a +32 mapping offset of vectors vs. 
irqs? Why dont we simply fix up all IRQ entry stubs to have +32, and 
thus we'd standardize on vector metrics and be done with it. In 
/proc/interrupts we could subtract 32 perhaps. Then MSI would be always 
enabled and there would be no MSI #ifdefs anywhere. Am i missing 
something?

> I currently have a pending bug fix that puts move_irq in the correct 
> place for edge and level triggered interrupts.
> 
> For edge triggered interrupts you must move the irq before you 
> acknowledge the interrupt, or else it can reoccur.
>
> For level triggered interrupts you must acknowledge the irq before you 
> move it, or else the acknowledgement will never find it's way back to 
> the irq source.

could you please send that fix to me, against whatever base you have it 
tested on, and i'll merge it to genirq/irqchips [and fix up genirq if 
needed]. Please also include a description of the problem. How common is 
that edge retrigger problem, and how come this has never been seen in 
the past years since we had irqbalance?

> Previously in io_apic.c the hacks that the msi code imposed on it were 
> clear, and many of them were enclosed in #ifdef CONFIG_PCI_MSI. Now 
> that ifdefs are gone, and the logic in io_apic.h that selected between 
> the versions of the irq handlers to use (vector or irq) has not been 
> updated.
> 
> I don't know if the latter is actually a bug.  But it definitely makes 
> it harder to remove the msi hacks, and io_apic.h should definitely 
> have been updated.

here too it's hard for me to give an answer without seeing your specific 
changes (against whatever base is most convenient to you). MSI certainly 
works fine on current -mm. (at least on my box)

	Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux