From: santosh.shilimkar@ti.com (Santosh Shilimkar)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH v2 00/12] Consolidating GIC per-cpu interrupts
Date: Fri, 13 May 2011 22:36:04 +0530 [thread overview]
Message-ID: <4DCD64FC.4090703@ti.com> (raw)
In-Reply-To: <1304677997-26947-1-git-send-email-marc.zyngier@arm.com>
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.
Regards
Santosh
-------
# echo mem > /sys/power/state
[ 37.503112] PM: Syncing filesystems ... done.
[ 37.552032] Freezing user space processes ... (elapsed 0.01 seconds)
done.
[ 37.577545] Freezing remaining freezable tasks ... (elapsed 0.02
seconds) done.
[ 37.616210] PM: suspend of devices complete after 5.187 msecs
[ 37.623657] PM: late suspend of devices complete after 1.403 msecs
[ 37.630187] Disabling non-boot CPUs ...
[ 37.731964] CPU1: shutdown
[ 38.285888] Enabling non-boot CPUs ...
[ 38.291137] CPU1: Booted secondary processor
[ 38.291168] CPU1: Unknown IPI message 0x1
[ 38.291168] local_timer: can't register interrupt 413 on cpu 1 (-16)
[ 38.365112] Unable to handle kernel NULL pointer dereference at
virtual address 0000004c
[ 38.388946] pgd = c0004000
[ 38.391784] [0000004c] *pgd=00000000
[ 38.395538] Internal error: Oops: 805 [#1] SMP
[ 38.400207] last sysfs file: /sys/devices/virtual/vc/vcsa63/dev
[ 38.406433] Modules linked in:
[ 38.409637] CPU: 1 Not tainted (2.6.39-rc5-00099-g9e06a0a #6)
[ 38.416046] PC is at clockevents_program_event+0x60/0xd4
[ 38.421630] LR is at tick_dev_program_event+0x38/0x140
[ 38.427032] pc : [<c00bc270>] lr : [<c00bd730>] psr: 60000193
[ 38.427032] sp : ef885f78 ip : 00000008 fp : 00000000
[ 38.439086] r10: 00000000 r9 : 00000008 r8 : cebb6148
[ 38.444580] r7 : 00000000 r6 : 0076bbcd r5 : 00000000 r4 : 00000000
[ 38.451446] r3 : 00000008 r2 : cebb6148 r1 : 00000000 r0 : cebb6148
[ 38.458282] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM
Segment kernel
[ 38.466064] Control: 10c53c7d Table: 8000404a DAC: 00000017
[ 38.472076] Process swapper (pid: 0, stack limit = 0xef8842f8)
[ 38.478210] Stack: (0xef885f78 to 0xef886000)
[ 38.482788] 5f60:
00000000 00000000
[ 38.491394] 5f80: 00000001 c00bd730 ce44a57b 00000008 ce44a57b
00000008 cebb6148 00000008
[ 38.499969] 5fa0: ce442e45 00000000 411fc092 c00bd8ac 00000000
00000008 00000000 c1164ef0
[ 38.508575] 5fc0: 00000008 c00be464 00773594 00000000 ce442e45
00000008 ef884000 0000001f
[ 38.517150] 5fe0: 10c03c7d c05f8630 00000000 c005b9a4 00000001
c006bd8c 5e3adbb2 b8403c00
[ 38.525756] [<c00bc270>] (clockevents_program_event+0x60/0xd4) from
[<c00bd730>] (tick_dev_program_event+0x38/0x140)
[ 38.536804] [<c00bd730>] (tick_dev_program_event+0x38/0x140) from
[<c00bd8ac>] (tick_program_event+0x3c/0x48)
[ 38.547241] [<c00bd8ac>] (tick_program_event+0x3c/0x48) from
[<c00be464>] (tick_nohz_restart_sched_tick+0x170/0x1b8)
[ 38.558319] [<c00be464>] (tick_nohz_restart_sched_tick+0x170/0x1b8)
from [<c005b9a4>] (cpu_idle+0xdc/0xf8)
[ 38.568481] [<c005b9a4>] (cpu_idle+0xdc/0xf8) from [<c006bd8c>]
(platform_cpu_die+0x3c/0x50)
[ 38.577331] Code: e0c17007 e3560001 e2d71000 ba000018 (e584304c)
[ 38.583740] ---[ end trace fd37aa01e7ce7dcd ]---
[ 38.588592] Kernel panic - not syncing: Attempted to kill the idle task!
[ 38.595642] CPU0: stopping
[ 38.598510] [<c0060cdc>] (unwind_backtrace+0x0/0xe4) from
[<c00502a4>] (do_IPI+0xb4/0x12c)
[ 38.607208] [<c00502a4>] (do_IPI+0xb4/0x12c) from [<c03f6c9c>]
(__irq_svc+0x3c/0x100)
[ 38.615447] Exception stack(0xc058bf88 to 0xc058bfd0)
[ 38.620727] bf80: c005b948 00000000 c058bfc0
00000000 c058a000 c0034c0c
[ 38.629333] bfa0: c0034c08 c0590ddc 80000000 411fc092 00000000
00000000 00000000 c058bfd0
[ 38.637908] bfc0: c005b948 c005b94c 60000013 ffffffff
[ 38.643218] [<c03f6c9c>] (__irq_svc+0x3c/0x100) from [<c005b94c>]
(cpu_idle+0x84/0xf8)
[ 38.651550] [<c005b94c>] (cpu_idle+0x84/0xf8) from [<c000893c>]
(start_kernel+0x298/0x2f0)
[ 38.660247] [<c000893c>] (start_kernel+0x298/0x2f0) from [<8000803c>]
(0x8000803c)
Regards
Santosh
next prev parent reply other threads:[~2011-05-13 17:06 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 ` Santosh Shilimkar [this message]
2011-05-14 16:12 ` [RFC PATCH v2 00/12] Consolidating GIC per-cpu interrupts Marc Zyngier
2011-05-17 14:21 ` Marc Zyngier
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=4DCD64FC.4090703@ti.com \
--to=santosh.shilimkar@ti.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).