linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: gic: use handle_fasteoi_irq for SPIs
Date: Fri, 18 Feb 2011 11:29:31 -0000	[thread overview]
Message-ID: <001d01cbcf5f$1cfc9870$56f5c950$@deacon@arm.com> (raw)
In-Reply-To: <4D5DB193.5010007@codeaurora.org>

> >> Right, so to get back to the original discussion about how to handle
> >> chained handlers if the high-level flow type of the IRQ chip is altered
> >> it seems that there are two options:
> >>
> >> 1.) Update all of the chained handlers to use the new flow-control
> >> 2.) Retain backwards compatibility if a chained handler decides to
> >>     use the old method of flow control (specifically, leave an ack
> >>     implementation in the GIC code after moving to fasteoi).
> >>
> >> Obviously, I'd rather go with option (2) and let platforms migrate
> >> over time if they choose to. Now, given that the ack function is really
> >> not something you want to do in a virtualised environment (because it
> >> pokes the distributor), is it worth sticking a
> >> WARN_ON_ONCE(cpu_has_virtualisation()); in the ack code?
> >
> > #2 is less painful and just works. The fasteoi stuff does not use ack
> > IIRC so it wont hurt.
> 
> On an MSM we use handle_percpu_irq for PPIs, if we have ack and eoi we
> will end up EOI ing the interrupt twice so #2 wont work. Also all the
> cascaded handlers would have assumed that the ack function masks the
> interrupt, it is best we fix all of them to use eoi at the end (just
> like handle_fasteoi_irq). Please tell me how you guys locate such
> cascaded handlers?

I don't think the cascaded handlers would have assumed that because ack
just sends EOI - it doesn't do any masking. We do have a problem with
the percpu_irq flow though (the GIC reference manual says that EOIing a
non-active interrupt is UNPREDICTABLE).

Another easy hack is to set IRQ_PER_CPU in the irq_desc->status for PPI
interrupts and then check this in the ack routine. It's pretty ugly, but
it doesn't affect the common case and it at least postpones the platform
changes.
 
Will

  reply	other threads:[~2011-02-18 11:29 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-14 15:26 [PATCH] ARM: gic: use handle_fasteoi_irq for SPIs Will Deacon
2011-02-16 11:29 ` Rabin Vincent
2011-02-16 13:09   ` Will Deacon
     [not found]   ` <-4413647205110644369@unknownmsgid>
2011-02-16 14:05     ` Rabin Vincent
2011-02-16 16:17       ` Will Deacon
     [not found]       ` <146267380211262372@unknownmsgid>
2011-02-16 17:35         ` Rabin Vincent
2011-02-16 19:20           ` Thomas Gleixner
2011-02-17  9:17             ` Russell King - ARM Linux
2011-02-17  9:38               ` Thomas Gleixner
2011-02-17 10:19                 ` Russell King - ARM Linux
2011-02-17 10:43                   ` Thomas Gleixner
2011-02-17 10:56                     ` Russell King - ARM Linux
2011-02-17 11:21                       ` Thomas Gleixner
2011-02-17 16:26                         ` Will Deacon
2011-02-17 17:34                           ` Thomas Gleixner
2011-02-17 23:38                             ` Abhijeet Dharmapurikar
2011-02-18 11:29                               ` Will Deacon [this message]
2011-02-18 11:42                                 ` Thomas Gleixner
2011-02-18 12:09                                   ` Will Deacon
     [not found]                                   ` <-8083923411736601789@unknownmsgid>
2011-02-18 18:30                                     ` Colin Cross
2011-02-18 18:36                                       ` Santosh Shilimkar
2011-02-18 18:57                                       ` Will Deacon
  -- strict thread matches above, loose matches on Subject: below --
2011-02-10 12:29 Will Deacon

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='001d01cbcf5f$1cfc9870$56f5c950$@deacon@arm.com' \
    --to=will.deacon@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).