#include <linux/errno.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/slab.h>
#include <linux/completion.h>
#include <linux/vmalloc.h>
#include <linux/smp.h>
#include <linux/stddef.h>
#include <linux/unistd.h>
#include <linux/numa.h>
#include <linux/mutex.h>
#include <linux/notifier.h>
#include <linux/kthread.h>
#include <linux/pid_namespace.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <asm/io.h>
#include <asm/mmu_context.h>
#include <asm/spu.h>
#include <asm/spu_csa.h>
#include <asm/spu_priv1.h>
#include "spufs.h"
#include "sputrace.h"
Go to the source code of this file.
#define CREATE_TRACE_POINTS |
#define SPUSCHED_TICK (10) |
spu_activate - find a free spu for a context and execute it : spu context to schedule : flags (currently ignored)
Tries to find a free spu to run . If no free spu is available add the context to the runqueue so it gets woken up once an spu is available.
Definition at line 786 of file sched.c.
spu_deactivate - unbind a context from it's physical spu : spu context to unbind
Unbind from the physical spu it is running on and schedule the highest priority context to run on the freed physical spu.
Definition at line 895 of file sched.c.
spu_yield - yield a physical spu if others are waiting : spu context to yield
Check if there is a higher priority context waiting and if yes unbind from the physical spu and schedule the highest priority context to run on the freed physical spu instead.
Definition at line 909 of file sched.c.