From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/9] Clean up SMP IPI support
Date: Mon, 15 Nov 2010 17:55:53 +0000 [thread overview]
Message-ID: <20101115175553.GC31421@n2100.arm.linux.org.uk> (raw)
This series is aimed at cleaning up our SMP IPI support. As has been
recently pointed out, we have a spinlock in percpu data, which is not
very nice.
If we switch to using the GIC SGIs, one for each IPI function, then
we don't need the mask of ipi bits indicating what work needs to be
done. This allows us to get rid of the troublesome spinlock in
send_ipi_message().
However, we end up with slightly more expense on the IPI receiver side,
as they no longer have a word to read to process a set of pending IPIs.
This isn't much of a down-side as you hardly end up with masses of
pending IPIs. Modern Cortex A9 platforms usually only clock up the
reschedule IPI.
This leaves us with just ipi_count in the ipi per-cpu data structure.
Other platforms put this in the global irq_stat array, and break this
down into individual IPIs. So, let's do the same.
One down-side of this patchset is that platforms which use SGI 1 to
wake their secondary CPUs will receive an "Unknown IPI message" kernel
critical message at boot time - as SGI 1 is no longer recognised as a
Linux IPI interrupt. We _could_ make this 'IPI_BOOT', something which
is only used for booting and therefore simply ignored.
next reply other threads:[~2010-11-15 17:55 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-15 17:55 Russell King - ARM Linux [this message]
2010-11-15 17:58 ` [PATCH 1/9] ARM: remove obsolete smp_cross_call_done() Russell King - ARM Linux
2010-11-15 17:58 ` [PATCH 2/9] ARM: smp: pass an ipi number to smp_cross_call() Russell King - ARM Linux
2010-11-17 11:05 ` Catalin Marinas
2010-11-15 17:58 ` [PATCH 3/9] ARM: smp: avoid using bitmasks and locks for IPIs, use hardware instead Russell King - ARM Linux
2010-11-17 17:06 ` Catalin Marinas
2010-11-17 17:19 ` Russell King - ARM Linux
2010-11-17 17:28 ` Catalin Marinas
2010-11-15 17:58 ` [PATCH 4/9] ARM: include local timer irq stats only when local timers configured Russell King - ARM Linux
2010-11-15 17:58 ` [PATCH 5/9] ARM: smp: provide accessors for irq_stat data Russell King - ARM Linux
2010-11-15 17:58 ` [PATCH 6/9] ARM: smp: move ipi_count into irq_stat structure Russell King - ARM Linux
2010-11-15 17:59 ` [PATCH 7/9] ARM: fix /proc/interrupts formatting Russell King - ARM Linux
2010-11-15 17:59 ` [PATCH 8/9] ARM: smp: provide individual IPI interrupt statistics Russell King - ARM Linux
2010-11-15 17:59 ` [PATCH 9/9] ARM: smp: collect IPI and local timer IRQs for /proc/stat Russell King - ARM Linux
2010-11-17 17:07 ` [PATCH 0/9] Clean up SMP IPI support Catalin Marinas
2010-11-17 17:17 ` Catalin Marinas
2010-11-17 17:21 ` Russell King - ARM Linux
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=20101115175553.GC31421@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--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).