All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Milton Miller <miltonm@bga.com>
Cc: linux-kernel@vger.kernel.org, linuxppc-dev@ozlabs.org,
	Sebastien Dugue <sebastien.dugue@bull.net>,
	Jan-Bernd Themann <ossthema@de.ibm.com>,
	Paul Mackerras <paulus@samba.org>,
	Christoph Raisch <RAISCH@de.ibm.com>
Subject: Re: [PATCH HACK] powerpc: quick hack to get a functional eHEA with hardirq preemption
Date: Thu, 25 Sep 2008 07:14:07 +1000	[thread overview]
Message-ID: <1222290847.8277.81.camel@pasglop> (raw)
In-Reply-To: <f30d1d832fd4ad096afccf198c14a7bb@bga.com>


> There may be some implicit assumption in that we expect the cpu 
> priority to be returned to normal by the EOI, but there is nothing in 
> the hardware that requires the EOI to come from the same cpu as 
> accepted the interrupt for processing, with the exception of the IPI 
> which is per-cpu (and the only interrupt that is per-cpu).

Well, there is one fundamental one: The XIRR register we access is
per-CPU, so if we are to return the right processor priority, we must
make sure we write the right XIRR.

Same with Cell, MPIC, actually and a few others. In general I'd say most
fast_eoi type PICs have this requirement.

> It would probably mean adding the concept of the current cpu priority 
> vs interrupts and making sure we write it to hardware at irq_exit() 
> time when deferring the actual irq handlers.

I think we need something like a special -rt variant of the fast_eoi
handler that masks & eoi's in ack() before the thread is spun off, and
unmasks instead of eoi() when the irq processing is complete.

Ben.

WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Milton Miller <miltonm@bga.com>
Cc: Paul Mackerras <paulus@samba.org>,
	linux-kernel@vger.kernel.org,
	Christoph Raisch <RAISCH@de.ibm.com>,
	linuxppc-dev@ozlabs.org, Jan-Bernd Themann <ossthema@de.ibm.com>,
	Sebastien Dugue <sebastien.dugue@bull.net>
Subject: Re: [PATCH HACK] powerpc: quick hack to get a functional eHEA with hardirq preemption
Date: Thu, 25 Sep 2008 07:14:07 +1000	[thread overview]
Message-ID: <1222290847.8277.81.camel@pasglop> (raw)
In-Reply-To: <f30d1d832fd4ad096afccf198c14a7bb@bga.com>


> There may be some implicit assumption in that we expect the cpu 
> priority to be returned to normal by the EOI, but there is nothing in 
> the hardware that requires the EOI to come from the same cpu as 
> accepted the interrupt for processing, with the exception of the IPI 
> which is per-cpu (and the only interrupt that is per-cpu).

Well, there is one fundamental one: The XIRR register we access is
per-CPU, so if we are to return the right processor priority, we must
make sure we write the right XIRR.

Same with Cell, MPIC, actually and a few others. In general I'd say most
fast_eoi type PICs have this requirement.

> It would probably mean adding the concept of the current cpu priority 
> vs interrupts and making sure we write it to hardware at irq_exit() 
> time when deferring the actual irq handlers.

I think we need something like a special -rt variant of the fast_eoi
handler that masks & eoi's in ack() before the thread is spun off, and
unmasks instead of eoi() when the irq processing is complete.

Ben.



  reply	other threads:[~2008-09-24 21:16 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-15  8:04 [PATCH HACK] powerpc: quick hack to get a functional eHEA with hardirq preemption Sebastien Dugue
2008-09-15  8:04 ` Sebastien Dugue
2008-09-15 12:17 ` Jan-Bernd Themann
2008-09-15 12:17   ` Jan-Bernd Themann
2008-09-15 12:35 ` Thomas Klein
2008-09-15 12:35   ` Thomas Klein
2008-09-15 13:13   ` Sebastien Dugue
2008-09-15 13:13     ` Sebastien Dugue
2008-09-16 11:59     ` Anton Vorontsov
2008-09-16 11:59       ` Anton Vorontsov
2008-09-16 12:22       ` Sebastien Dugue
2008-09-16 12:22         ` Sebastien Dugue
2008-09-18  7:53 ` Christoph Raisch
2008-09-18  7:53   ` Christoph Raisch
2008-09-18  9:27   ` Sebastien Dugue
2008-09-18  9:27     ` Sebastien Dugue
2008-09-18 10:42     ` [PATCH HACK] powerpc: quick hack to get a functional eHEA with hardirq preemption, eHCA is close Christoph Raisch
2008-09-18 10:42       ` Christoph Raisch
2008-09-18 12:31       ` Sebastien Dugue
2008-09-18 12:31         ` Sebastien Dugue
2008-09-23 15:43         ` Jan-Bernd Themann
2008-09-23 15:43           ` Jan-Bernd Themann
2008-09-24  9:58           ` [PATCH HACK] powerpc: quick hack to get a functional eHEA with hardirq preemption Milton Miller
2008-09-24  9:58             ` Milton Miller
2008-09-24 10:17             ` Benjamin Herrenschmidt
2008-09-24 10:17               ` Benjamin Herrenschmidt
2008-09-24 11:02               ` Milton Miller
2008-09-24 11:02                 ` Milton Miller
2008-09-24 21:14                 ` Benjamin Herrenschmidt [this message]
2008-09-24 21:14                   ` Benjamin Herrenschmidt
2008-09-25  7:31                   ` Sebastien Dugue
2008-09-25  7:31                     ` Sebastien Dugue
2008-09-24 12:35               ` Sebastien Dugue
2008-09-24 12:35                 ` Sebastien Dugue
2008-09-24 21:15                 ` Benjamin Herrenschmidt
2008-09-24 21:15                   ` Benjamin Herrenschmidt
2008-09-25  7:18                   ` Sebastien Dugue
2008-09-25  7:18                     ` Sebastien Dugue
2008-09-25  7:22                     ` Benjamin Herrenschmidt
2008-09-25  7:22                       ` Benjamin Herrenschmidt
2008-09-25  7:42                       ` Sebastien Dugue
2008-09-25  7:42                         ` Sebastien Dugue
2008-09-25  8:36                         ` Benjamin Herrenschmidt
2008-09-25  8:36                           ` Benjamin Herrenschmidt
2008-09-25  8:39                           ` Sebastien Dugue
2008-09-25  8:39                             ` Sebastien Dugue
2008-09-24 12:30             ` Sebastien Dugue
2008-09-24 12:30               ` Sebastien Dugue
2008-09-24 16:42               ` Milton Miller
2008-09-24 16:42                 ` Milton Miller
2008-09-24 21:16                 ` Benjamin Herrenschmidt
2008-09-24 21:16                   ` Benjamin Herrenschmidt
2008-09-25  3:56                   ` Milton Miller
2008-09-25  3:56                     ` Milton Miller
2008-09-25  8:45                 ` Sebastien Dugue
2008-09-25  8:45                   ` Sebastien Dugue
  -- strict thread matches above, loose matches on Subject: below --
2008-09-25 23:40 Milton Miller
2008-09-25 23:40 ` Milton Miller
2008-09-26  9:16 ` Sebastien Dugue
2008-09-26  9:16   ` Sebastien Dugue

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1222290847.8277.81.camel@pasglop \
    --to=benh@kernel.crashing.org \
    --cc=RAISCH@de.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=miltonm@bga.com \
    --cc=ossthema@de.ibm.com \
    --cc=paulus@samba.org \
    --cc=sebastien.dugue@bull.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.