• Cyril Bur's avatar
    powerpc: Never giveup a reclaimed thread when enabling kernel {fp, altivec, vsx} · e909fb83
    Cyril Bur authored
    After a thread is reclaimed from its active or suspended transactional
    state the checkpointed state exists on CPU, this state (along with the
    live/transactional state) has been saved in its entirety by the
    reclaiming process.
    
    There exists a sequence of events that would cause the kernel to call
    one of enable_kernel_fp(), enable_kernel_altivec() or
    enable_kernel_vsx() after a thread has been reclaimed. These functions
    save away any user state on the CPU so that the kernel can use the
    registers. Not only is this saving away unnecessary at this point, it
    is actually incorrect. It causes a save of the checkpointed state to
    the live structures within the thread struct thus destroying the true
    live state for that thread.
    Signed-off-by: default avatarCyril Bur <cyrilbur@gmail.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    e909fb83
process.c 50.5 KB