<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/parisc/kernel/smp.c, branch linux-2.6.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2006-10-07T12:01:11Z</updated>
<entry>
<title>[PARISC] More pt_regs removal</title>
<updated>2006-10-07T12:01:11Z</updated>
<author>
<name>Matthew Wilcox</name>
</author>
<published>2006-10-07T12:01:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c7753f18711782738936f224aaa421468e87f6ed'/>
<id>urn:sha1:c7753f18711782738936f224aaa421468e87f6ed</id>
<content type='text'>
Remove pt_regs from ipi_interrupt and timer_interrupt.
Inline smp_do_timer() into its only caller, and unify the SMP and
non-SMP paths.  Fixes a profiling bug.

Signed-off-by: Matthew Wilcox &lt;matthew@wil.cx&gt;
</content>
</entry>
<entry>
<title>[PARISC] Allow nested interrupts</title>
<updated>2006-10-04T12:48:57Z</updated>
<author>
<name>James Bottomley</name>
</author>
<published>2006-09-09T19:36:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7085689ed135f94108e46c372015c6f5cd3372a3'/>
<id>urn:sha1:7085689ed135f94108e46c372015c6f5cd3372a3</id>
<content type='text'>
Our prior mode of operation didn't allow nested interrupts
because it makes the interrupt code much simpler.  However,
nested interrupts are better for latency.

This code uses the EIEM register to simulate level interrupts
and thus achieve nesting.

Signed-off-by: James Bottomley &lt;James.Bottomley@SteelEye.com&gt;
Signed-off-by: Kyle McMartin &lt;kyle@parisc-linux.org&gt;
</content>
</entry>
<entry>
<title>[PARISC] Add new function to start local Interval Timer, start_cpu_itimer()</title>
<updated>2006-10-04T12:48:07Z</updated>
<author>
<name>Grant Grundler</name>
</author>
<published>2006-09-03T07:02:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=56f335c89e28c488b1bfea3e5e697fce805c784d'/>
<id>urn:sha1:56f335c89e28c488b1bfea3e5e697fce805c784d</id>
<content type='text'>
I couldn't find where the itimer was getting started for slave CPUs.
CPU 0 (master) itimer was started in time_init() (arch/parisc/kernel/time.c).
start_cpu_itimer() code was striped from time_init().
Slaves now start their itimer in smp_cpu_init().

This is a first step towards making gettimeoffset() work for SMP.
Next step will be to determine the CR16 (cycle counter)
offsets for each CPU relative to the master (CPU 0).

Signed-off-by: Grant Grundler &lt;grundler@parisc-linux.org&gt;
Signed-off-by: Kyle McMartin &lt;kyle@parisc-linux.org&gt;
</content>
</entry>
<entry>
<title>Remove obsolete #include &lt;linux/config.h&gt;</title>
<updated>2006-06-30T17:25:36Z</updated>
<author>
<name>Jörn Engel</name>
</author>
<published>2006-06-30T17:25:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6ab3d5624e172c553004ecc862bfeac16d9d68b7'/>
<id>urn:sha1:6ab3d5624e172c553004ecc862bfeac16d9d68b7</id>
<content type='text'>
Signed-off-by: Jörn Engel &lt;joern@wohnheim.fh-wedel.de&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] more for_each_cpu() conversions</title>
<updated>2006-03-23T15:38:17Z</updated>
<author>
<name>Andrew Morton</name>
</author>
<published>2006-03-23T11:01:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=394e3902c55e667945f6f1c2bdbc59842cce70f7'/>
<id>urn:sha1:394e3902c55e667945f6f1c2bdbc59842cce70f7</id>
<content type='text'>
When we stop allocating percpu memory for not-possible CPUs we must not touch
the percpu data for not-possible CPUs at all.  The correct way of doing this
is to test cpu_possible() or to use for_each_cpu().

This patch is a kernel-wide sweep of all instances of NR_CPUS.  I found very
few instances of this bug, if any.  But the patch converts lots of open-coded
test to use the preferred helper macros.

Cc: Mikael Starvik &lt;starvik@axis.com&gt;
Cc: David Howells &lt;dhowells@redhat.com&gt;
Acked-by: Kyle McMartin &lt;kyle@parisc-linux.org&gt;
Cc: Anton Blanchard &lt;anton@samba.org&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Cc: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Cc: Paul Mundt &lt;lethal@linux-sh.org&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: William Lee Irwin III &lt;wli@holomorphy.com&gt;
Cc: Andi Kleen &lt;ak@muc.de&gt;
Cc: Christian Zankel &lt;chris@zankel.net&gt;
Cc: Philippe Elie &lt;phil.el@wanadoo.fr&gt;
Cc: Nathan Scott &lt;nathans@sgi.com&gt;
Cc: Jens Axboe &lt;axboe@suse.de&gt;
Cc: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] parisc: task_stack_page(), task_thread_info()</title>
<updated>2006-01-12T17:08:55Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2006-01-12T09:05:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=40f1f0deaff90b78b81dbba109bfa1cef241ec16'/>
<id>urn:sha1:40f1f0deaff90b78b81dbba109bfa1cef241ec16</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PARISC] Make local cache flushes take a void *</title>
<updated>2006-01-11T02:49:21Z</updated>
<author>
<name>Matthew Wilcox</name>
</author>
<published>2006-01-11T01:47:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1b2425e3c79984975a1a3e6fa84512f23d96da9f'/>
<id>urn:sha1:1b2425e3c79984975a1a3e6fa84512f23d96da9f</id>
<content type='text'>
Make flush_data_cache_local, flush_instruction_cache_local and
flush_tlb_all_local take a void * so they don't have to be cast
when using on_each_cpu().  This becomes a problem when on_each_cpu
is a macro (as it is in current -mm).

Also move the prototype of flush_tlb_all_local into tlbflush.h and
remove its declaration from .c files.

Signed-off-by: Matthew Wilcox &lt;willy@parisc-linux.org&gt;
Signed-off-by: Kyle McMartin &lt;kyle@parisc-linux.org&gt;
</content>
</entry>
<entry>
<title>[PARISC] Add __read_mostly section for parisc</title>
<updated>2006-01-11T01:35:03Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2006-01-11T01:35:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8039de10aae3cd4cf0ef0ccebd58aff0e8810df2'/>
<id>urn:sha1:8039de10aae3cd4cf0ef0ccebd58aff0e8810df2</id>
<content type='text'>
Flag a whole bunch of things as __read_mostly on parisc. Also flag a few
branches as unlikely() and cleanup a bit of code.

Signed-off-by: Helge Deller &lt;deller@parisc-linux.org&gt;
Signed-off-by: Kyle McMartin &lt;kyle@parisc-linux.org&gt;
</content>
</entry>
<entry>
<title>[PARISC] Fix our interrupts not to use smp_call_function</title>
<updated>2005-11-17T21:27:02Z</updated>
<author>
<name>James Bottomley</name>
</author>
<published>2005-11-17T21:27:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d911aed8adf74e1fae88d082b8474b2175b7f1da'/>
<id>urn:sha1:d911aed8adf74e1fae88d082b8474b2175b7f1da</id>
<content type='text'>
Fix our interrupts not to use smp_call_function

On K and D class smp, the generic code calls this under an irq
spinlock, which causes the WARN_ON() message in smp_call_function()
(and is also illegal because it could deadlock).

The fix is to use a new scheme based on the IPI_NOP.

Signed-off-by: James Bottomley &lt;jejb@parisc-linux.org&gt;
Signed-off-by: Kyle McMartin &lt;kyle@parisc-linux.org&gt;
</content>
</entry>
<entry>
<title>[PARISC] Make sure timer and IPI execute with interrupts disabled</title>
<updated>2005-11-17T21:24:52Z</updated>
<author>
<name>James Bottomley</name>
</author>
<published>2005-11-17T21:24:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9a8b4584065dd241d6c2bf818e349986bd900b8e'/>
<id>urn:sha1:9a8b4584065dd241d6c2bf818e349986bd900b8e</id>
<content type='text'>
Fix a longstanding smp bug

The problem is that both the timer and ipi interrupts are being called
with interrupts enabled, which isn't what anyone is expecting.

The IPI issue has just started to show up by causing a BUG_ON in the
slab debugging code.  The timer issue never shows up because there's an
eiem work around in our irq.c

The fix is to label both these as SA_INTERRUPT which causes the generic
irq code not to enable interrupts.

I also suspect the smp_call_function timeouts we're seeing might be
connected with the fact that we disable IPIs when handling any other
type of interrupt.  I've put a WARN_ON in the code for executing
smp_call_function() with IPIs disabled.

Signed-off-by: James Bottomley &lt;jejb@parisc-linux.org&gt;
Signed-off-by: Kyle McMartin &lt;kyle@parisc-linux.org&gt;
</content>
</entry>
</feed>
