<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/include/asm-powerpc/spu_csa.h, branch master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/include/asm-powerpc/spu_csa.h?h=master</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/include/asm-powerpc/spu_csa.h?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2008-08-04T02:02:00Z</updated>
<entry>
<title>powerpc: Move include files to arch/powerpc/include/asm</title>
<updated>2008-08-04T02:02:00Z</updated>
<author>
<name>Stephen Rothwell</name>
<email>sfr@canb.auug.org.au</email>
</author>
<published>2008-08-01T05:20:30Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=b8b572e1015f81b4e748417be2629dfe51ab99f9'/>
<id>urn:sha1:b8b572e1015f81b4e748417be2629dfe51ab99f9</id>
<content type='text'>
from include/asm-powerpc.  This is the result of a

mkdir arch/powerpc/include/asm
git mv include/asm-powerpc/* arch/powerpc/include/asm

Followed by a few documentation/comment fixups and a couple of places
where &lt;asm-powepc/...&gt; was being used explicitly.  Of the latter only
one was outside the arch code and it is a driver only built for powerpc.

Signed-off-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>powerpc/spufs: remove class_0_dsisr from spu exception handling</title>
<updated>2008-06-16T04:35:00Z</updated>
<author>
<name>Luke Browning</name>
<email>lukebrowning@us.ibm.com</email>
</author>
<published>2008-06-05T09:30:25Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=1f64643aa5f5a17f1723f7ea0f17b7a3a8f632b3'/>
<id>urn:sha1:1f64643aa5f5a17f1723f7ea0f17b7a3a8f632b3</id>
<content type='text'>
According to the CBEA, the SPU dsisr is not updated for class 0
exceptions.

spu_stopped() is testing the dsisr that was passed to it from the class
0 exception handler, so we return a false positive here.

This patch cleans up the interrupt handler and erroneous tests in
spu_stopped. It also removes the fields from the csa since it is not
needed to process class 0 events.

Signed-off-by: Luke Browning &lt;lukebrowning@us.ibm.com&gt;
Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] spufs: fix concurrent delivery of class 0 &amp; 1 exceptions</title>
<updated>2008-05-05T03:33:44Z</updated>
<author>
<name>Luke Browning</name>
<email>lukebr@linux.vnet.ibm.com</email>
</author>
<published>2008-04-27T18:41:55Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=f3d69e0507f84903059d456c5d19f10b2df3ac69'/>
<id>urn:sha1:f3d69e0507f84903059d456c5d19f10b2df3ac69</id>
<content type='text'>
SPU class 0 &amp; 1 exceptions may occur in parallel, so we may end up
overwriting csa.dsisr.

This change adds dedicated fields for each class to the spu and the spu
context so that fault data is not overwritten.

Signed-off-by: Luke Browning &lt;lukebr@linux.vnet.ibm.com&gt;
Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] spufs: rework class 0 and 1 interrupt handling</title>
<updated>2007-12-21T08:46:20Z</updated>
<author>
<name>Jeremy Kerr</name>
<email>jk@ozlabs.org</email>
</author>
<published>2007-12-20T07:39:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=d6ad39bc53521275d14fde86bfb94d9b2ddb7a08'/>
<id>urn:sha1:d6ad39bc53521275d14fde86bfb94d9b2ddb7a08</id>
<content type='text'>
Based on original patches from
 Arnd Bergmann &lt;arnd.bergman@de.ibm.com&gt;; and
 Luke Browning &lt;lukebr@linux.vnet.ibm.com&gt;

Currently, spu contexts need to be loaded to the SPU in order to take
class 0 and class 1 exceptions.

This change makes the actual interrupt-handlers much simpler (ie,
set the exception information in the context save area), and defers the
handling code to the spufs_handle_class[01] functions, called from
spufs_run_spu.

This should improve the concurrency of the spu scheduling leading to
greater SPU utilization when SPUs are overcommited.

Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] spufs: move fault, lscsa_alloc and switch code to spufs module</title>
<updated>2007-12-21T08:46:19Z</updated>
<author>
<name>Jeremy Kerr</name>
<email>jk@ozlabs.org</email>
</author>
<published>2007-12-20T07:39:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=7cd58e43810852eeb7af5a0c803f3890bd08b581'/>
<id>urn:sha1:7cd58e43810852eeb7af5a0c803f3890bd08b581</id>
<content type='text'>
Currently, part of the spufs code (switch.o, lscsa_alloc.o and fault.o)
is compiled directly into the kernel.

This change moves these components of spufs into the kernel.

The lscsa and switch objects are fairly straightforward to move in.

For the fault.o module, we split the fault-handling code into two
parts: a/p/p/c/spu_fault.c and a/p/p/c/spufs/fault.c. The former is for
the in-kernel spu_handle_mm_fault function, and we move the rest of the
fault-handling code into spufs.

Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] include/asm-powerpc/: Spelling fixes</title>
<updated>2007-12-20T05:17:44Z</updated>
<author>
<name>joe@perches.com</name>
<email>joe@perches.com</email>
</author>
<published>2007-12-17T19:30:13Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=567e9fdd49bcfa7e15ebc0005853ac5529c81856'/>
<id>urn:sha1:567e9fdd49bcfa7e15ebc0005853ac5529c81856</id>
<content type='text'>
Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[CELL] spufs: fix decr_status meanings</title>
<updated>2007-07-20T19:41:55Z</updated>
<author>
<name>Masato Noguchi</name>
<email>Masato.Noguchi@jp.sony.com</email>
</author>
<published>2007-07-20T19:39:37Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=1cfc0f86eb0348dd04ace8c2171642ebe9cd87bb'/>
<id>urn:sha1:1cfc0f86eb0348dd04ace8c2171642ebe9cd87bb</id>
<content type='text'>
The decr_status in the LSCSA is confusedly used as two meanings:
 * SPU decrementer was running
 * SPU decrementer was wrapped as a result of adjust
and the code to set decr_status is missing.

This patch fixes these problems by using the decr_status argument as a
set of flags. This requires a rebuild of the shipped spu_restore code.

Signed-off-by: Masato Noguchi &lt;Masato.Noguchi@jp.sony.com&gt;
Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
Signed-off-by: Arnd Bergmann &lt;arnd.bergmann@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Spufs support for 64K LS mappings on 4K kernels</title>
<updated>2007-05-09T06:35:00Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2007-05-08T06:27:29Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=f1fa74f4afe96b0e4ac2beaa61fa4f4667acdcbb'/>
<id>urn:sha1:f1fa74f4afe96b0e4ac2beaa61fa4f4667acdcbb</id>
<content type='text'>
This adds an option to spufs when the kernel is configured for
4K page to give it the ability to use 64K pages for SPE local store
mappings.

Currently, we are optimistic and try order 4 allocations when creating
contexts. If that fails, the code will fallback to 4K automatically.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] spufs: make spu page faults not block scheduling</title>
<updated>2007-04-23T19:18:55Z</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd.bergmann@de.ibm.com</email>
</author>
<published>2007-04-23T19:08:15Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=57dace2391ba10135e38457904121e7ef34d0c83'/>
<id>urn:sha1:57dace2391ba10135e38457904121e7ef34d0c83</id>
<content type='text'>
Until now, we have always entered the spu page fault handler
with a mutex for the spu context held. This has multiple
bad side-effects:
- it becomes impossible to suspend the context during
  page faults
- if an spu program attempts to access its own mmio
  areas through DMA, we get an immediate livelock when
  the nopage function tries to acquire the same mutex

This patch makes the page fault logic operate on a
struct spu_context instead of a struct spu, and moves it
from spu_base.c to a new file fault.c inside of spufs.

We now also need to copy the dar and dsisr contents
of the last fault into the saved context to have it
accessible in case we schedule out the context before
activating the page fault handler.

Signed-off-by: Arnd Bergmann &lt;arnd.bergmann@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Fix spu SLB invalidations</title>
<updated>2007-03-09T23:07:50Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2007-03-09T23:05:37Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=94b2a4393c500a620de90c3266d595926302e26b'/>
<id>urn:sha1:94b2a4393c500a620de90c3266d595926302e26b</id>
<content type='text'>
The SPU code doesn't properly invalidate SPUs SLBs when necessary,
for example when changing a segment size from the hugetlbfs code. In
addition, it saves and restores the SLB content on context switches
which makes it harder to properly handle those invalidations.

This patch removes the saving &amp; restoring for now, something more
efficient might be found later on. It also adds a spu_flush_all_slbs(mm)
that can be used by the core mm code to flush the SLBs of all SPEs that
are running a given mm at the time of the flush.

In order to do that, it adds a spinlock to the list of all SPEs and move
some bits &amp; pieces from spufs to spu_base.c

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
</feed>
