[IA64-SGI] fix bte_copy() calling get_nasid() while preemptible
authorRuss Anderson <rja@sgi.com>
Tue, 25 Oct 2005 22:34:19 +0000 (17:34 -0500)
committerTony Luck <tony.luck@intel.com>
Tue, 25 Oct 2005 23:53:38 +0000 (16:53 -0700)
bte_copy() calls calls get_nasid(), which will get flagged if
preemption if enabled.  raw_smp_processor_id() is used instead.
It is OK if we migrate off node.

Signed-off-by: Russ Anderson (rja@sgi.com)
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/sn/kernel/bte.c

index 45854c637e9ca035f2d16dac86da2698ec300030..d71f4de44f79a1074ee3c614735576cf3b9a8369 100644 (file)
@@ -87,7 +87,7 @@ bte_result_t bte_copy(u64 src, u64 dest, u64 len, u64 mode, void *notification)
        unsigned long irq_flags;
        unsigned long itc_end = 0;
        int nasid_to_try[MAX_NODES_TO_TRY];
-       int my_nasid = get_nasid();
+       int my_nasid = cpuid_to_nasid(raw_smp_processor_id());
        int bte_if_index, nasid_index;
        int bte_first, btes_per_node = BTES_PER_NODE;