]> err.no Git - linux-2.6/commitdiff
[IA64-SGI] fix bte_copy() calling smp_processor_id() while preemptible
authorRuss Anderson <(rja@sgi.com)>
Mon, 15 Aug 2005 21:46:00 +0000 (14:46 -0700)
committerTony Luck <tony.luck@intel.com>
Fri, 26 Aug 2005 22:01:37 +0000 (15:01 -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 b75814efadba7e61a8853ad858e0918d045b48c5..45854c637e9ca035f2d16dac86da2698ec300030 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 */