소스 검색

[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 <tony.luck@intel.com>
Russ Anderson 20 년 전
부모
커밋
d1e079b3fc
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      arch/ia64/sn/kernel/bte.c

+ 1 - 1
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 */