All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: linuxppc-dev@ozlabs.org, Ingo Molnar <mingo@elte.hu>,
	linux-kernel@vger.kernel.org, dwalker@mvista.com
Subject: Re: [PATCH] 2.6.18-rt7: PowerPC: fix breakage in threaded fasteoi type IRQ handlers
Date: Mon, 20 Nov 2006 18:46:00 +0300	[thread overview]
Message-ID: <4561CDB8.2030309@ru.mvista.com> (raw)
In-Reply-To: <1163970524.5826.128.camel@localhost.localdomain>

Hello.

Benjamin Herrenschmidt wrote:
>>    I'm not sure it's feasible. The idea behind level/edge flows is to 
>>eliminate the interrupt priority I think. That's why they EOI ASAP (with the 
>>level handler masking IRQ before that) -- this way the other interrupts may 
>>come thru.

> Well, the idea behind the level/edge flow is not exactly that afaik.
> It's more like having tailored handlers for level/edge on PICs that are
> not intelligent to auto-mask with a priority mecanism (ie. dumb PICs
> which are very common in the embedded field, and for example, on ARM
> where genirq takes its roots).

    That was a conclusion to which I came after looking at the 8259 code (that 
PIC being full capable of the priority masking).

>>    I used to think that fasteoi was intended for SMP PICs which are 
>>intelligent enough to mask off the interrupts pending delivery or handling on 
>>CPUs and unmask them upon receiving EOI -- just like x86 IOAPIC does.

> In general, PICs that are intelligent enough to mask off, wether using
> something as you describe or using priorities. I don't feel the need of
> going through hoops to allow lower or same priority interrupts in.
> First, if you really need an interrupt to be serviced quick, then you
> can just give it a higher priority. In the general case however, I do
> -not- want to allow interrupts to stack up. Imagine a big IBM machine
> with hundreds interrupt lines, what happens to the kernel stack if we
> let them interrupt each other ?

    Well, such machines are SMP usually... :-)

>> This 
>>way, the acceptance of the lower priority interrupts shouldn't be hindered on 
>>the other CPUs. Maybe the scheme is different for OpenPIC (I know it has the 
>>different interrupt distribution scheme from IOAPIC)?

> I don't think there is a real need to let lower priority interrupts in
> on a CPU that is currently handling a higher priority one.

    Nevertheless, 8259 drivers are doing exactly this on UP machines -- and 
they were doing this before and after genirq conversion...

> Ben.

WBR, Sergei

WARNING: multiple messages have this Message-ID (diff)
From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Ingo Molnar <mingo@elte.hu>,
	linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org,
	dwalker@mvista.com
Subject: Re: [PATCH] 2.6.18-rt7: PowerPC: fix breakage in threaded fasteoi type IRQ handlers
Date: Mon, 20 Nov 2006 18:46:00 +0300	[thread overview]
Message-ID: <4561CDB8.2030309@ru.mvista.com> (raw)
In-Reply-To: <1163970524.5826.128.camel@localhost.localdomain>

Hello.

Benjamin Herrenschmidt wrote:
>>    I'm not sure it's feasible. The idea behind level/edge flows is to 
>>eliminate the interrupt priority I think. That's why they EOI ASAP (with the 
>>level handler masking IRQ before that) -- this way the other interrupts may 
>>come thru.

> Well, the idea behind the level/edge flow is not exactly that afaik.
> It's more like having tailored handlers for level/edge on PICs that are
> not intelligent to auto-mask with a priority mecanism (ie. dumb PICs
> which are very common in the embedded field, and for example, on ARM
> where genirq takes its roots).

    That was a conclusion to which I came after looking at the 8259 code (that 
PIC being full capable of the priority masking).

>>    I used to think that fasteoi was intended for SMP PICs which are 
>>intelligent enough to mask off the interrupts pending delivery or handling on 
>>CPUs and unmask them upon receiving EOI -- just like x86 IOAPIC does.

> In general, PICs that are intelligent enough to mask off, wether using
> something as you describe or using priorities. I don't feel the need of
> going through hoops to allow lower or same priority interrupts in.
> First, if you really need an interrupt to be serviced quick, then you
> can just give it a higher priority. In the general case however, I do
> -not- want to allow interrupts to stack up. Imagine a big IBM machine
> with hundreds interrupt lines, what happens to the kernel stack if we
> let them interrupt each other ?

    Well, such machines are SMP usually... :-)

>> This 
>>way, the acceptance of the lower priority interrupts shouldn't be hindered on 
>>the other CPUs. Maybe the scheme is different for OpenPIC (I know it has the 
>>different interrupt distribution scheme from IOAPIC)?

> I don't think there is a real need to let lower priority interrupts in
> on a CPU that is currently handling a higher priority one.

    Nevertheless, 8259 drivers are doing exactly this on UP machines -- and 
they were doing this before and after genirq conversion...

> Ben.

WBR, Sergei

  reply	other threads:[~2006-11-20 15:44 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-19 19:43 [PATCH] 2.6.18-rt7: PowerPC: fix breakage in threaded fasteoi type IRQ handlers Sergei Shtylyov
2006-11-19 19:43 ` Sergei Shtylyov
2006-11-19 20:00 ` Benjamin Herrenschmidt
2006-11-19 20:00   ` Benjamin Herrenschmidt
2006-11-19 20:04   ` Benjamin Herrenschmidt
2006-11-19 20:04     ` Benjamin Herrenschmidt
2006-11-19 20:11     ` Sergei Shtylyov
2006-11-19 20:11       ` Sergei Shtylyov
2006-11-19 20:06   ` Ingo Molnar
2006-11-19 20:06     ` Ingo Molnar
2006-11-19 20:19     ` Benjamin Herrenschmidt
2006-11-19 20:19       ` Benjamin Herrenschmidt
2006-11-19 20:23       ` Ingo Molnar
2006-11-19 20:23         ` Ingo Molnar
2006-11-19 20:31         ` Sergei Shtylyov
2006-11-19 20:31           ` Sergei Shtylyov
2006-11-19 20:36           ` Benjamin Herrenschmidt
2006-11-19 20:36             ` Benjamin Herrenschmidt
2006-11-19 20:42             ` Sergei Shtylyov
2006-11-19 20:42               ` Sergei Shtylyov
2006-11-19 20:45               ` Benjamin Herrenschmidt
2006-11-19 20:45                 ` Benjamin Herrenschmidt
2006-11-19 20:49         ` Benjamin Herrenschmidt
2006-11-19 20:49           ` Benjamin Herrenschmidt
2006-11-20  1:16         ` Benjamin Herrenschmidt
2006-11-20  1:16           ` Benjamin Herrenschmidt
2006-11-20 10:01           ` Ingo Molnar
2006-11-20 10:01             ` Ingo Molnar
2006-11-20 15:29             ` Sergei Shtylyov
2006-11-20 15:29               ` Sergei Shtylyov
2006-11-20 16:56               ` Ingo Molnar
2006-11-20 16:56                 ` Ingo Molnar
2006-11-20 17:03                 ` Sergei Shtylyov
2006-11-20 17:03                   ` Sergei Shtylyov
2006-11-20 17:26                   ` Ingo Molnar
2006-11-20 17:26                     ` Ingo Molnar
2006-11-20 17:55                     ` Ingo Molnar
2006-11-20 17:55                       ` Ingo Molnar
2006-11-20 18:20                       ` Daniel Walker
2006-11-20 18:20                         ` Daniel Walker
2006-11-20 18:29                         ` Ingo Molnar
2006-11-20 18:29                           ` Ingo Molnar
2006-11-20 18:30                       ` Sergei Shtylyov
2006-11-20 18:30                         ` Sergei Shtylyov
2006-11-20 19:10                         ` Ingo Molnar
2006-11-20 19:10                           ` Ingo Molnar
2006-11-20 19:11                           ` Ingo Molnar
2006-11-20 19:11                             ` Ingo Molnar
2006-11-20 19:18                             ` Sergei Shtylyov
2006-11-20 19:18                               ` Sergei Shtylyov
2006-11-20 19:24                               ` Sergei Shtylyov
2006-11-20 19:24                                 ` Sergei Shtylyov
2006-11-20 19:23                                 ` Ingo Molnar
2006-11-20 20:11                       ` Benjamin Herrenschmidt
2006-11-20 20:11                         ` Benjamin Herrenschmidt
2006-11-20 20:09                 ` Benjamin Herrenschmidt
2006-11-20 20:09                   ` Benjamin Herrenschmidt
2006-11-20 16:25             ` Daniel Walker
2006-11-20 16:25               ` Daniel Walker
2006-11-20 16:42               ` Ingo Molnar
2006-11-20 17:01                 ` Daniel Walker
2006-11-20 20:07             ` Benjamin Herrenschmidt
2006-11-20 20:07               ` Benjamin Herrenschmidt
2006-11-19 20:26       ` Sergei Shtylyov
2006-11-19 20:26         ` Sergei Shtylyov
2006-11-19 20:32         ` Benjamin Herrenschmidt
2006-11-19 20:32           ` Benjamin Herrenschmidt
2006-11-19 20:40           ` Sergei Shtylyov
2006-11-19 20:40             ` Sergei Shtylyov
2006-11-19 20:41             ` Benjamin Herrenschmidt
2006-11-19 20:41               ` Benjamin Herrenschmidt
2006-11-19 20:52               ` Sergei Shtylyov
2006-11-19 20:52                 ` Sergei Shtylyov
2006-11-19 21:08                 ` Benjamin Herrenschmidt
2006-11-19 21:08                   ` Benjamin Herrenschmidt
2006-11-20 15:46                   ` Sergei Shtylyov [this message]
2006-11-20 15:46                     ` Sergei Shtylyov
2006-11-19 20:44             ` Sergei Shtylyov
2006-11-19 20:48               ` Benjamin Herrenschmidt
2007-05-17 13:20 ` [PATCH 2.6.21-rt2] PowerPC: revert fix for threaded fasteoi " Sergei Shtylyov
2007-05-17 13:20   ` Sergei Shtylyov
2007-07-12 16:47   ` Sergei Shtylyov
2007-07-12 16:52     ` Thomas Gleixner
2007-07-12 16:52       ` Thomas Gleixner
2007-07-13 17:19       ` Sergei Shtylyov
2007-07-13 17:19         ` Sergei Shtylyov

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=4561CDB8.2030309@ru.mvista.com \
    --to=sshtylyov@ru.mvista.com \
    --cc=benh@kernel.crashing.org \
    --cc=dwalker@mvista.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=mingo@elte.hu \
    /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.