• Arnd Bergmann's avatar
    [PATCH] spufs: cooperative scheduler support · 8b3d6663
    Arnd Bergmann authored
    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: default avatarArnd Bergmann <arndb@de.ibm.com>
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    8b3d6663
spu.h 20.8 KB