diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2008-10-22 17:00:26 +0200 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2008-10-22 01:00:26 +0200 |
commit | 8163bcac779f62c6bf847caed9bce905db0693fb (patch) | |
tree | 8fcf397c504fadbebecde09901aacef06b4551d8 /init | |
parent | stop_machine: use workqueues instead of kernel threads (diff) | |
download | linux-8163bcac779f62c6bf847caed9bce905db0693fb.tar.xz linux-8163bcac779f62c6bf847caed9bce905db0693fb.zip |
stop_machine: fix error code handling on multiple cpus
Using |= for updating a value which might be updated on several cpus
concurrently will not always work since we need to make sure that the
update happens atomically.
To fix this just use a write if the called function returns an error
code on a cpu. We end up writing the error code of an arbitrary cpu
if multiple ones fail but that should be sufficient.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'init')
0 files changed, 0 insertions, 0 deletions