summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/signal.c
diff options
context:
space:
mode:
authorCyril Bur <cyrilbur@gmail.com>2016-09-23 08:18:11 +0200
committerMichael Ellerman <mpe@ellerman.id.au>2016-10-04 07:43:07 +0200
commite909fb83d39292679118761426d7784715ad79ad (patch)
tree02bc288a2692d60e06c216db9b7fed78b3df5ef4 /arch/powerpc/kernel/signal.c
parentpowerpc: Return the new MSR from msr_check_and_set() (diff)
downloadlinux-e909fb83d39292679118761426d7784715ad79ad.tar.xz
linux-e909fb83d39292679118761426d7784715ad79ad.zip
powerpc: Never giveup a reclaimed thread when enabling kernel {fp, altivec, vsx}
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: Cyril Bur <cyrilbur@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/kernel/signal.c')
0 files changed, 0 insertions, 0 deletions