1. 01 11月, 2011 1 次提交
  2. 13 1月, 2009 1 次提交
  3. 05 5月, 2008 1 次提交
  4. 08 2月, 2008 1 次提交
  5. 21 12月, 2007 4 次提交
    • A
      [POWERPC] spufs: DMA Restart after SIGSEGV · 18789fb1
      Andre Detsch 提交于
      This fixes the behavior of spufs when a spu tries a DMA operation
      based on a wrong / unavailable address.
      
      Instead of just generating a SIGBUS signal, spufs now
      generates a SIGSEGV signal and restarts the problematic DMA operation
      after the execution of the application's signal handler.  This allows
      applications to employ user-level paging systems.
      
      Although the restart_dma function is called before the application's
      signal handler, the operation is not actually performed at this time,
      since the spu context is already stopped.  The operation only takes
      place when spu_run is restarted (which happens automatically).
      Signed-off-by: NAndre Detsch <adetsch@br.ibm.com>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      18789fb1
    • C
      [POWERPC] spufs: make state_mutex interruptible · c9101bdb
      Christoph Hellwig 提交于
      Make most places that use spu_acquire/spu_acquire_saved interruptible,
      this allows getting out of the spufs code when e.g. pressing ctrl+c.
      There are a few places where we get called e.g. from spufs teardown
      routines were we can't simply err out so these are left with a comment.
      For now I've also not touched the poll routines because it's open what
      libspe would expect in terms of interrupted system calls.
      Acked-by: NArnd Bergmann <arnd.bergmann@de.ibm.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      c9101bdb
    • J
      [POWERPC] spufs: rework class 0 and 1 interrupt handling · d6ad39bc
      Jeremy Kerr 提交于
      Based on original patches from
       Arnd Bergmann <arnd.bergman@de.ibm.com>; and
       Luke Browning <lukebr@linux.vnet.ibm.com>
      
      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: NJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      d6ad39bc
    • J
      [POWERPC] spufs: move fault, lscsa_alloc and switch code to spufs module · 7cd58e43
      Jeremy Kerr 提交于
      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: NJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      7cd58e43
  6. 21 7月, 2007 1 次提交
    • A
      [CELL] spufs: add spu stats in sysfs and ctx stat file in spufs · 27ec41d3
      Andre Detsch 提交于
      This patch exports per-context statistics in spufs as long as spu
      statistics in sysfs.
      
      It was formed by merging:
      "spufs: add spu stats in sysfs"   From: Christoph Hellwig
      "spufs: add stat file to spufs"   From: Christoph Hellwig
      "spufs: fix libassist accounting" From: Jeremy Kerr
      "spusched: fix spu utilization statistics" From: Luke Browning
      And some adjustments by myself, after suggestions on cbe-oss-dev.
      
      Having separate patches was making the review process harder
      than it should, as we end up integrating spus and ctx statistics
      accounting much more than it was on the first implementation.
      Signed-off-by: NAndre Detsch <adetsch@br.ibm.com>
      Signed-off-by: NJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: NArnd Bergmann <arnd.bergmann@de.ibm.com>
      27ec41d3
  7. 20 7月, 2007 2 次提交
    • C
      fix spufs build after ->fault changes · 80422977
      Christoph Hellwig 提交于
      83c54070 broke spufs by incorrectly
      updating the code, this patch gets it to compile again.
      
      It's probably still broken due to the scheduler changes, but this
      at least makes sure cell kernels can still be built.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Acked-by: NGeoff Levand <geoffrey.levand@am.sony.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Nick Piggin <nickpiggin@yahoo.com.au>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      80422977
    • N
      mm: fault feedback #2 · 83c54070
      Nick Piggin 提交于
      This patch completes Linus's wish that the fault return codes be made into
      bit flags, which I agree makes everything nicer.  This requires requires
      all handle_mm_fault callers to be modified (possibly the modifications
      should go further and do things like fault accounting in handle_mm_fault --
      however that would be for another patch).
      
      [akpm@linux-foundation.org: fix alpha build]
      [akpm@linux-foundation.org: fix s390 build]
      [akpm@linux-foundation.org: fix sparc build]
      [akpm@linux-foundation.org: fix sparc64 build]
      [akpm@linux-foundation.org: fix ia64 build]
      Signed-off-by: NNick Piggin <npiggin@suse.de>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Ian Molton <spyro@f2s.com>
      Cc: Bryan Wu <bryan.wu@analog.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Hirokazu Takata <takata@linux-m32r.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Greg Ungerer <gerg@uclinux.org>
      Cc: Matthew Wilcox <willy@debian.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
      Cc: Richard Curnow <rc@rc0.org.uk>
      Cc: William Lee Irwin III <wli@holomorphy.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp>
      Cc: Chris Zankel <chris@zankel.net>
      Acked-by: NKyle McMartin <kyle@mcmartin.ca>
      Acked-by: NHaavard Skinnemoen <hskinnemoen@atmel.com>
      Acked-by: NRalf Baechle <ralf@linux-mips.org>
      Acked-by: NAndi Kleen <ak@muc.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      [ Still apparently needs some ARM and PPC loving - Linus ]
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      83c54070
  8. 03 7月, 2007 2 次提交
  9. 24 4月, 2007 2 次提交
    • J
      [POWERPC] spufs: provide siginfo for SPE faults · c8a1e939
      Jeremy Kerr 提交于
      This change populates a siginfo struct for SPE application exceptions
      (ie, invalid DMAs and illegal instructions).
      
      Tested on an IBM Cell Blade.
      Signed-off-by: NJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: NArnd Bergmann <arnd.bergmann@de.ibm.com>
      c8a1e939
    • A
      [POWERPC] spufs: make spu page faults not block scheduling · 57dace23
      Arnd Bergmann 提交于
      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: NArnd Bergmann <arnd.bergmann@de.ibm.com>
      57dace23