Re: What are the real ioapic rte programming constraints?

2007-02-11 Thread Eric W. Biederman
Zwane Mwaikambo <[EMAIL PROTECTED]> writes: > On Sun, 11 Feb 2007, Eric W. Biederman wrote: > >> > 2.15.2 PCI Express* Legacy INTx Support and Boot Interrupt >> > http://download.intel.com/design/chipsets/datashts/30262802.pdf >> >> Ouch. And this kind of thing isn't exactly uncommon. >> >>

Re: What are the real ioapic rte programming constraints?

2007-02-11 Thread Zwane Mwaikambo
On Sun, 11 Feb 2007, Eric W. Biederman wrote: > > 2.15.2 PCI Express* Legacy INTx Support and Boot Interrupt > > http://download.intel.com/design/chipsets/datashts/30262802.pdf > > Ouch. And this kind of thing isn't exactly uncommon. > > However if we have the irqs also disabled in the i8259

Re: What are the real ioapic rte programming constraints?

2007-02-11 Thread Eric W. Biederman
Zwane Mwaikambo <[EMAIL PROTECTED]> writes: > > The 7500 issue isn't actually a race but a disease, if you mask a pending > irq in its RTE, the PCI hub generates an INTx message corresponding to > that irq. This apparently was done to support booting OSes without APIC > support. So the

Re: What are the real ioapic rte programming constraints?

2007-02-11 Thread Eric W. Biederman
"Natalie Protasevich" <[EMAIL PROTECTED]> writes: > On 2/11/07, Eric W. Biederman <[EMAIL PROTECTED]> wrote: > > The code currently in the kernel does: > > pending > mask > read io_apic > ack > reprogram vector and destination > unmask > > So I guess it does retain

Re: What are the real ioapic rte programming constraints?

2007-02-11 Thread Zwane Mwaikambo
On Sun, 11 Feb 2007, Eric W. Biederman wrote: > What I am looking at doing is: > > mask > read io_apic > -- Past this point no more irqs are expected from the io_apic > -- Now I work to drain any inflight/pending instances of the irq > send ipi to all irq destinations cpus and wait for it to

Re: What are the real ioapic rte programming constraints?

2007-02-11 Thread Eric W. Biederman
Zwane Mwaikambo <[EMAIL PROTECTED]> writes: > On Sat, 10 Feb 2007, Eric W. Biederman wrote: > >> There are not enough details in the justification to really understand >> the issue so I'm asking to see if someone has some more details. >> >> The description makes the assertion that reprograming

Re: What are the real ioapic rte programming constraints?

2007-02-11 Thread Eric W. Biederman
Zwane Mwaikambo [EMAIL PROTECTED] writes: On Sat, 10 Feb 2007, Eric W. Biederman wrote: There are not enough details in the justification to really understand the issue so I'm asking to see if someone has some more details. The description makes the assertion that reprograming the ioapic

Re: What are the real ioapic rte programming constraints?

2007-02-11 Thread Zwane Mwaikambo
On Sun, 11 Feb 2007, Eric W. Biederman wrote: What I am looking at doing is: mask read io_apic -- Past this point no more irqs are expected from the io_apic -- Now I work to drain any inflight/pending instances of the irq send ipi to all irq destinations cpus and wait for it to return

Re: What are the real ioapic rte programming constraints?

2007-02-11 Thread Eric W. Biederman
Natalie Protasevich [EMAIL PROTECTED] writes: On 2/11/07, Eric W. Biederman [EMAIL PROTECTED] wrote: The code currently in the kernel does: pending mask read io_apic ack reprogram vector and destination unmask So I guess it does retain the bug fix.

Re: What are the real ioapic rte programming constraints?

2007-02-11 Thread Eric W. Biederman
Zwane Mwaikambo [EMAIL PROTECTED] writes: The 7500 issue isn't actually a race but a disease, if you mask a pending irq in its RTE, the PCI hub generates an INTx message corresponding to that irq. This apparently was done to support booting OSes without APIC support. So the following would

Re: What are the real ioapic rte programming constraints?

2007-02-11 Thread Zwane Mwaikambo
On Sun, 11 Feb 2007, Eric W. Biederman wrote: 2.15.2 PCI Express* Legacy INTx Support and Boot Interrupt http://download.intel.com/design/chipsets/datashts/30262802.pdf Ouch. And this kind of thing isn't exactly uncommon. However if we have the irqs also disabled in the i8259 we should

Re: What are the real ioapic rte programming constraints?

2007-02-11 Thread Eric W. Biederman
Zwane Mwaikambo [EMAIL PROTECTED] writes: On Sun, 11 Feb 2007, Eric W. Biederman wrote: 2.15.2 PCI Express* Legacy INTx Support and Boot Interrupt http://download.intel.com/design/chipsets/datashts/30262802.pdf Ouch. And this kind of thing isn't exactly uncommon. However if we have

Re: What are the real ioapic rte programming constraints?

2007-02-10 Thread Zwane Mwaikambo
On Sat, 10 Feb 2007, Eric W. Biederman wrote: > There are not enough details in the justification to really understand > the issue so I'm asking to see if someone has some more details. > > The description makes the assertion that reprograming the ioapic > when an interrupt is pending is the

What are the real ioapic rte programming constraints?

2007-02-10 Thread Eric W. Biederman
I have recently been investigating why we reprogram ioapic irqs in the interrupt handler, because it significantly complicates the code, and makes things more fragile. Eventually I found the commit with the justification, see below. There are not enough details in the justification to really

What are the real ioapic rte programming constraints?

2007-02-10 Thread Eric W. Biederman
I have recently been investigating why we reprogram ioapic irqs in the interrupt handler, because it significantly complicates the code, and makes things more fragile. Eventually I found the commit with the justification, see below. There are not enough details in the justification to really

Re: What are the real ioapic rte programming constraints?

2007-02-10 Thread Zwane Mwaikambo
On Sat, 10 Feb 2007, Eric W. Biederman wrote: There are not enough details in the justification to really understand the issue so I'm asking to see if someone has some more details. The description makes the assertion that reprograming the ioapic when an interrupt is pending is the only