summaryrefslogtreecommitdiffstats
path: root/include/asm-ia64/system.h
diff options
context:
space:
mode:
authorTony Luck <tony.luck@intel.com>2006-03-21 17:21:26 +0100
committerTony Luck <tony.luck@intel.com>2006-03-21 17:21:26 +0100
commit409761bb6a06bd61e2d8e27a1af534371d9537ed (patch)
tree2c07068558092a01d70f737de9b9a34212a44d4b /include/asm-ia64/system.h
parentPull altix-ce1.0-asic into release branch (diff)
parent[IA64] hooks to wait for mmio writes to drain when migrating processes (diff)
downloadlinux-409761bb6a06bd61e2d8e27a1af534371d9537ed.tar.xz
linux-409761bb6a06bd61e2d8e27a1af534371d9537ed.zip
Pull sn2-mmio-writes into release branch
Hand-fixed conflicts: include/asm-ia64/machvec_sn2.h Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'include/asm-ia64/system.h')
-rw-r--r--include/asm-ia64/system.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/asm-ia64/system.h b/include/asm-ia64/system.h
index 062538715623..cd4233d66f15 100644
--- a/include/asm-ia64/system.h
+++ b/include/asm-ia64/system.h
@@ -244,6 +244,13 @@ extern void ia64_load_extra (struct task_struct *task);
__ia64_save_fpu((prev)->thread.fph); \
} \
__switch_to(prev, next, last); \
+ /* "next" in old context is "current" in new context */ \
+ if (unlikely((current->thread.flags & IA64_THREAD_MIGRATION) && \
+ (task_cpu(current) != \
+ task_thread_info(current)->last_cpu))) { \
+ platform_migrate(current); \
+ task_thread_info(current)->last_cpu = task_cpu(current); \
+ } \
} while (0)
#else
# define switch_to(prev,next,last) __switch_to(prev, next, last)