1. 09 1月, 2006 5 次提交
    • A
      [PATCH] spufs: trivial compile fix · 7945a4a2
      Arnd Bergmann 提交于
      One of my last patches contained a broken line
      from splitting out some other changes, this
      restores a working version.
      Signed-off-by: NArnd Bergmann <arndb@de.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      7945a4a2
    • A
      [PATCH] spufs: Improved SPU preemptability [part 2]. · 2a911f0b
      Arnd Bergmann 提交于
      This patch reduces lock complexity of SPU scheduler, particularly
      for involuntary preemptive switches.  As a result the new code
      does a better job of mapping the highest priority tasks to SPUs.
      
      Lock complexity is reduced by using the system default workqueue
      to perform involuntary saves.  In this way we avoid nasty lock
      ordering problems that the previous code had.  A "minimum timeslice"
      for SPU contexts is also introduced.  The intent here is to avoid
      thrashing.
      
      While the new scheduler does a better job at prioritization it
      still does nothing for fairness.
      
      From: Mark Nutter <mnutter@us.ibm.com>
      Signed-off-by: NArnd Bergmann <arndb@de.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      2a911f0b
    • A
      [PATCH] spufs: Improved SPU preemptability. · 5110459f
      Arnd Bergmann 提交于
      This patch makes it easier to preempt an SPU context by
      having the scheduler hold ctx->state_sema for much shorter
      periods of time.
      
      As part of this restructuring, the control logic for the "run"
      operation is moved from arch/ppc64/kernel/spu_base.c to
      fs/spufs/file.c.  Of course the base retains "bottom half"
      handlers for class{0,1} irqs.  The new run loop will re-acquire
      an SPU if preempted.
      
      From: Mark Nutter <mnutter@us.ibm.com>
      Signed-off-by: NArnd Bergmann <arndb@de.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      5110459f
    • A
      [PATCH] spufs: Turn off debugging output · 3b3d22cb
      Arnd Bergmann 提交于
      spufs is rather noisy when debugging is enabled, this
      turns off the messages for production use.
      Signed-off-by: NArnd Bergmann <arndb@de.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      3b3d22cb
    • A
      [PATCH] spufs: cooperative scheduler support · 8b3d6663
      Arnd Bergmann 提交于
      This adds a scheduler for SPUs to make it possible to use
      more logical SPUs than physical ones are present in the
      system.
      
      Currently, there is no support for preempting a running
      SPU thread, they have to leave the SPU by either triggering
      an event on the SPU that causes it to return to the
      owning thread or by sending a signal to it.
      
      This patch also adds operations that enable accessing an SPU
      in either runnable or saved state. We use an RW semaphore
      to protect the state of the SPU from changing underneath
      us, while we are holding it readable. In order to change
      the state, it is acquired writeable and a context save
      or restore is executed before downgrading the semaphore
      to read-only.
      
      From: Mark Nutter <mnutter@us.ibm.com>,
            Uli Weigand <Ulrich.Weigand@de.ibm.com>
      Signed-off-by: NArnd Bergmann <arndb@de.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      8b3d6663