1. 30 4月, 2008 1 次提交
  2. 01 4月, 2008 1 次提交
  3. 28 3月, 2008 1 次提交
    • J
      [POWERPC] spufs: reacquire LS pointer in spu_process_callback · 4eb5aef5
      Jeremy Kerr 提交于
      During spu_process callback, we release then acquire the SPU, but keep a
      pointer to the local store memory. Since the context may have been
      scheduled out during the callback, the ls pointer may become invalid.
      
      This change reacquires the pointer to the context local store after
      spu_acquire()-ing, so that it isn't invalidated by a context switch.
      Signed-off-by: NJeremy Kerr <jk@ozlabs.org>
      4eb5aef5
  4. 11 3月, 2008 1 次提交
  5. 19 2月, 2008 1 次提交
    • J
      [POWERPC] spufs: fix scheduler starvation by idle contexts · 4ef11014
      Jeremy Kerr 提交于
      2.6.25 has a regression where we can starve the scheduler by creating
      (N_SPES+1) contexts, then running them one at a time.
      
      The final context will never be run, as the other contexts are loaded on
      the SPEs, none of which are repoted as free (ie, spu->alloc_state !=
      SPU_FREE), so spu_get_idle() doesn't give us a spu to run on. Because
      all of the contexts are stopped, none are descheduled by the scheduler
      tick, as spusched_tick returns if spu_stopped(ctx).
      
      This change replaces the spu_stopped() check with checking for SCHED_IDLE
      in ctx->policy. We set a context's policy to SCHED_IDLE when we're not
      in spu_run(). We also favour SCHED_IDLE contexts when looking for contexts
      to unbind, but leave their timeslice intact for later resumption.
      
      This patch fixes the following test in the spufs-testsuite:
        tests/20-scheduler/02-yield-starvation
      Signed-off-by: NJeremy Kerr <jk@ozlabs.org>
      4ef11014
  6. 08 2月, 2008 3 次提交
  7. 06 2月, 2008 1 次提交
  8. 21 12月, 2007 6 次提交
  9. 19 9月, 2007 1 次提交
  10. 30 8月, 2007 1 次提交
  11. 26 7月, 2007 1 次提交
  12. 21 7月, 2007 3 次提交
  13. 03 7月, 2007 6 次提交
  14. 14 6月, 2007 1 次提交
  15. 24 4月, 2007 5 次提交
  16. 10 3月, 2007 1 次提交
  17. 14 2月, 2007 4 次提交
  18. 04 12月, 2006 2 次提交
    • A
      [POWERPC] spufs: always send sigtrap on breakpoint · c2b2226c
      Arnd Bergmann 提交于
      Currently, we only send a sigtrap if the current task is being ptraced.
      This is somewhat inconsistant, and it breaks utrace support in fedora.
      Removing the check should do the right thing in all cases.
      
      Cc: Ulrich Weigand <ulrich.weigand@de.ibm.com>
      Signed-off-by: NArnd Bergmann <arnd.bergmann@de.ibm.com>
      c2b2226c
    • J
      [POWERPC] spufs: Load isolation kernel from spu_run · c6730ed4
      Jeremy Kerr 提交于
      In order to fit with the "don't-run-spus-outside-of-spu_run" model, this
      patch starts the isolated-mode loader in spu_run, rather than
      spu_create. If spu_run is passed an isolated-mode context that isn't in
      isolated mode state, it will run the loader.
      
      This fixes potential races with the isolated SPE app doing a
      stop-and-signal before the PPE has called spu_run: bugzilla #29111.
      Also (in conjunction with a mambo patch), this addresses #28565, as we
      always set the runcntrl register when entering spu_run.
      
      It is up to libspe to ensure that isolated-mode apps are cleaned up
      after running to completion - ie, put the app through the "ISOLATE EXIT"
      state (see Ch11 of the CBEA).
      Signed-off-by: NJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: NArnd Bergmann <arnd.bergmann@de.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      c6730ed4