Thread (28 messages) 28 messages, 8 authors, 2008-09-25

Re: [PATCH HACK] powerpc: quick hack to get a functional eHEA with hardirq preemption

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2008-09-24 21:17:59
Also in: lkml

On Wed, 2008-09-24 at 14:35 +0200, Sebastien Dugue wrote:
Hi Ben,

On Wed, 24 Sep 2008 20:17:47 +1000 Benjamin Herrenschmidt [off-list ref] wrote:
quoted
On Wed, 2008-09-24 at 04:58 -0500, Milton Miller wrote:
quoted
The per-interrupt mask and unmask calls have to go through RTAS, a
single-threaded global context, which in addition to increasing
path length will really limit scalability.  The interrupt controller
poll and reject facilities are accessed through hypervisor calls
which are comparable to a fast syscall, and parallel to all cpus.
Note also that the XICS code thus assumes, iirc, as does the cell IIC
code, that eoi is called on the -same- cpu that fetched the interrupt
initially. That assumption can be broken with IRQ threads no ?
  No, the fetch and the eoi are both done in interrupt context before
the hardirq thread is woken up.

  On the other hand, the mask+eoi and the unmask may well happen
on different cpus as there's only one hardirq thread per irq on
the system. Don't know if this is a problem with the XICS though.
Ok, that's the right approach then. It should work. I don't know what
the specific problems with HEA are at this stage. It doesn't seem to
make sense to implement a set_irq_type(), what would it do ? The
XICS doesn't expose any concept of interrupt type...

Ben.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help