Skip to content
  1. Aug 19, 2008
  2. Aug 14, 2008
  3. Jul 24, 2008
  4. Jul 09, 2008
  5. Jun 16, 2008
  6. May 15, 2008
  7. May 08, 2008
  8. May 05, 2008
    • Luke Browning's avatar
      [POWERPC] spufs: try to route SPU interrupts to local node · 7a214200
      Luke Browning authored
      
      
      Currently, we re-route SPU interrupts to the current cpu, which may be
      on a remote node. In the case of time slicing, all spu interrupts will
      end up routed to the same cpu, where the spusched_tick occurs.
      
      This change routes mfc interrupts to the cpu where the controlling
      thread last ran, provided that cpu is on the same node as the spu
      (otherwise don't reroute interrupts).
      
      This should improve performance and provide a more predictable
      environment for processing spu exceptions. In the past we have seen
      concurrent delivery of spu exceptions to two cpus. This eliminates that
      concern.
      
      Signed-off-by: default avatarLuke Browning <lukebr@linux.vnet.ibm.com>
      Signed-off-by: default avatarJeremy Kerr <jk@ozlabs.org>
      7a214200
  9. Apr 30, 2008
  10. Apr 29, 2008
  11. Mar 11, 2008
  12. Feb 29, 2008
  13. Feb 18, 2008
    • Jeremy Kerr's avatar
      [POWERPC] spufs: fix scheduler starvation by idle contexts · 4ef11014
      Jeremy Kerr authored
      
      
      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: default avatarJeremy Kerr <jk@ozlabs.org>
      4ef11014
  14. Feb 06, 2008
  15. Jan 02, 2008
  16. Dec 28, 2007
  17. Dec 21, 2007
  18. Sep 19, 2007
  19. Aug 03, 2007
  20. Jul 26, 2007
  21. Jul 20, 2007
Loading