From: Russ Anderson <(rja@sgi.com)> Date: Mon, 15 Aug 2005 21:46:00 +0000 (-0700) Subject: [IA64-SGI] fix bte_copy() calling smp_processor_id() while preemptible X-Git-Tag: v2.6.14-rc1~1019^2~6^2 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=d1e079b3fc90c7c114f46771e983a72ac8740882;p=~emulex%2Finfiniband.git [IA64-SGI] fix bte_copy() calling smp_processor_id() while preemptible bte_copy() calls calls smp_processor_id(), which will get flagged if preemption if enabled. raw_smp_processor_id() is used instead because we are just using it to pick a BTE interface and are not tied to a specific cpu. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck --- diff --git a/arch/ia64/sn/kernel/bte.c b/arch/ia64/sn/kernel/bte.c index b75814efadb..45854c637e9 100644 --- a/arch/ia64/sn/kernel/bte.c +++ b/arch/ia64/sn/kernel/bte.c @@ -105,7 +105,7 @@ bte_result_t bte_copy(u64 src, u64 dest, u64 len, u64 mode, void *notification) /* * Start with interface corresponding to cpu number */ - bte_first = get_cpu() % btes_per_node; + bte_first = raw_smp_processor_id() % btes_per_node; if (mode & BTE_USE_DEST) { /* try remote then local */