All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc.Zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH v2 00/12] Consolidating GIC per-cpu interrupts
Date: Tue, 17 May 2011 15:21:31 +0100	[thread overview]
Message-ID: <1305642091.30788.47.camel@e102391-lin.cambridge.arm.com> (raw)
In-Reply-To: <4DCD64FC.4090703@ti.com>

Hi Santosh,

On Fri, 2011-05-13 at 22:36 +0530, Santosh Shilimkar wrote:
> Marc,
> 
> On 5/6/2011 4:03 PM, Marc Zyngier wrote:
> > The current GIC per-cpu interrupt (aka PPIs) suffers from a number of
> > problems:
> >
> > - It uses a completely separate scheme to handle the interrupts,
> >    mostly because the PPI concept doesn't really match the kernel view
> >    of an interrupt.
> > - Some low-level code gets duplicated, as usual...
> > - At least one platform (msm) has started implementing its own
> >    alternative scheme.
> >
> > The proposed solution is to let the GIC code expose the PPIs as
> > something that the kernel can manage. Instead of having a single
> > interrupt number shared on all cores, make the interrupt number be
> > different on each CPU.
> >
> > This enables the use of the normal kernel API (request_irq() and
> > friends) and the elimination of some low level code.
> >
> > This patch set is based on 2.6.39-rc6, and depends on Will Deacon's
> > GIC fasteoi patches. Tested on VExpress, PB-11MP, Pandaboard and
> > SMDK-S5PV310.
> >
> 
> Looks like, this series breaks system wide supsend. Please
> check.

Are you sure you're testing with v2? v1 is known to be broken with
CPU_HOTPLUG, but v2 should deal with it. Here is a suspend/resume cycle
on my Panda:

root at florentine-pogen:~# echo mem>/sys/power/state 
[  136.215667] PM: Syncing filesystems ... done.
[  136.220977] PM: Preparing system for mem sleep
[  136.226989] Freezing user space processes ... (elapsed 0.02 seconds) done.
[  136.257232] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
[  136.280670] PM: Entering mem sleep
[  136.332916] usb 1-1.1: unlink qh8-0001/dfb97460 start 2 [1/0 us]
[  136.339447] usb 1-1.1: usb suspend
[  136.363861] hub 1-1:1.0: hub_suspend
[  136.367614] usb 1-1: unlink qh256-0001/dfa846e0 start 1 [1/0 us]
[  136.373992] usb 1-1: usb suspend
[  136.395111] hub 1-0:1.0: hub_suspend
[  136.398864] usb usb1: bus suspend
[  136.402343] ehci-omap ehci-omap.0: suspend root hub
[  136.408477] PM: suspend of devices complete after 123.748 msecs
[  136.414703] PM: suspend devices took 0.132 seconds
[  136.420135] PM: late suspend of devices complete after 0.427 msecs
[  136.426605] Disabling non-boot CPUs ...
[  136.528137] CPU1: shutdown
[  138.320465] Enabling non-boot CPUs ...
[  138.324737] CPU1: Booted secondary processor
[  138.324737] CPU1: Unknown IPI message 0x1
[  138.332183] Switched to NOHz mode on CPU #1
[  138.527862] CPU1 is up
[  138.543518] PM: early resume of devices complete after 0.152 msecs

[  138.793670] usb usb1: usb resume
[  138.797058] ehci-omap ehci-omap.0: resume root hub
[  138.848022] hub 1-0:1.0: hub_resume
[  138.851684] hub 1-0:1.0: port 1: status 0507 change 0000
[  138.857299] usb 1-1: usb resume
[  138.894897] ehci-omap ehci-omap.0: GetStatus port:1 status 001005 0  ACK POWER sig=se0 PE CONNECT
[  138.926147] usb 1-1: finish resume
[  138.933868] hub 1-1:1.0: hub_resume
[  138.937591] hub 1-1:1.0: port 1: status 0507 change 0000
[  138.957489] ehci-omap ehci-omap.0: reused qh dfa846e0 schedule
[  138.963592] usb 1-1: link qh256-0001/dfa846e0 start 1 [1/0 us]
[  138.972991] usb 1-1.1: usb resume
[  139.037353] usb 1-1.1: finish resume
[  139.041259] ehci-omap ehci-omap.0: reused qh dfb97460 schedule
[  139.047363] usb 1-1.1: link qh8-0001/dfb97460 start 2 [1/0 us]
[  139.053649] PM: resume of devices complete after 503.509 msecs
[  139.059936] PM: resume devices took 0.515 seconds
[  139.064880] PM: Finishing wakeup.
[  139.068359] Restarting tasks ... 
[  139.071685] hub 1-0:1.0: state 7 ports 3 chg 0000 evt 0000
[  139.072631] done.
[  139.079681] hub 1-1:1.0: state 7 ports 5 chg 0000 evt 0002
root at florentine-pogen:~# 

Seems to be just fine here...

Cheers,

	M.
-- 
Reality is an implementation detail.
-- 
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium.  Thank you.

  parent reply	other threads:[~2011-05-17 14:21 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-06 10:33 [RFC PATCH v2 00/12] Consolidating GIC per-cpu interrupts Marc Zyngier
2011-05-06 10:33 ` [RFC PATCH v2 01/12] ARM: gic: add per-cpu interrupt multiplexer Marc Zyngier
2011-05-06 10:33 ` [RFC PATCH v2 02/12] ARM: smp_twd: add support for remapped PPI interrupts Marc Zyngier
2011-05-12 17:59   ` Stephen Boyd
2011-05-18 11:06     ` Marc Zyngier
2011-05-06 10:33 ` [RFC PATCH v2 03/12] ARM: omap4: use remapped PPI interrupts for local timer Marc Zyngier
2011-05-06 10:33 ` [RFC PATCH v2 04/12] ARM: versatile: " Marc Zyngier
2011-05-06 10:33 ` [RFC PATCH v2 05/12] ARM: shmobile: " Marc Zyngier
2011-05-06 10:33 ` [RFC PATCH v2 06/12] ARM: ux500: " Marc Zyngier
2011-05-06 10:33 ` [RFC PATCH v2 07/12] ARM: tegra: " Marc Zyngier
2011-05-06 10:33 ` [RFC PATCH v2 08/12] ARM: msm: " Marc Zyngier
2011-05-12 20:23   ` Stephen Boyd
2011-05-19 10:15     ` Marc Zyngier
2011-05-24 19:31       ` Stephen Boyd
2011-05-25 10:31         ` Marc Zyngier
2011-05-06 10:33 ` [RFC PATCH v2 09/12] ARM: exynos4: " Marc Zyngier
2011-05-06 10:33 ` [RFC PATCH v2 10/12] ARM: gic: remove previous local timer interrupt handling Marc Zyngier
2011-05-06 10:33 ` [RFC PATCH v2 11/12] ARM: gic: add compute_irqnr macro for exynos4 Marc Zyngier
2011-05-06 10:33 ` [RFC PATCH v2 12/12] ARM: SMP: automatically select ARM_GIC_VPPI Marc Zyngier
2011-05-13 17:06 ` [RFC PATCH v2 00/12] Consolidating GIC per-cpu interrupts Santosh Shilimkar
2011-05-14 16:12   ` Marc Zyngier
2011-05-17 14:21   ` Marc Zyngier [this message]
2011-05-17 14:32     ` Santosh Shilimkar
2011-05-18 14:04       ` Santosh Shilimkar
2011-05-18 14:07         ` Marc Zyngier

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=1305642091.30788.47.camel@e102391-lin.cambridge.arm.com \
    --to=marc.zyngier@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 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.