[IA64-SGI] fix bte_copy() calling smp_processor_id() while preemptible
Russ Anderson [Mon, 15 Aug 2005 21:46:00 +0000 (14:46 -0700)]
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>

arch/ia64/sn/kernel/bte.c

index b75814e..45854c6 100644 (file)
@@ -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 */