diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-12-18 14:34:43 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-12-18 14:53:41 +0000 |
commit | 797245f5da543074ee7db0e0516da744c89aa17f (patch) | |
tree | 429a08d54bb870c720139a3f04ad27ded7f93a8f /arch/arm/kernel/xscale-cp0.c | |
parent | 2395d66d09ce10c25b6756575c4aeb219760d1fc (diff) | |
download | op-kernel-dev-797245f5da543074ee7db0e0516da744c89aa17f.zip op-kernel-dev-797245f5da543074ee7db0e0516da744c89aa17f.tar.gz |
ARM: Convert VFP/Crunch/XscaleCP thread_release() to exit_thread()
This avoids races in the VFP code where the dead thread may have
state on another CPU. By moving this code to exit_thread(), we
will be running as the thread, and therefore be running on the
current CPU.
This means that we can ensure that the only local state is accessed
in the thread notifiers.
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/xscale-cp0.c')
-rw-r--r-- | arch/arm/kernel/xscale-cp0.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/kernel/xscale-cp0.c b/arch/arm/kernel/xscale-cp0.c index 17127db..1796157 100644 --- a/arch/arm/kernel/xscale-cp0.c +++ b/arch/arm/kernel/xscale-cp0.c @@ -70,7 +70,7 @@ static int iwmmxt_do(struct notifier_block *self, unsigned long cmd, void *t) * initialised state information on the first fault. */ - case THREAD_NOTIFY_RELEASE: + case THREAD_NOTIFY_EXIT: iwmmxt_task_release(thread); break; |