This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-ia64-devel] [patch] sn2 - only get nasid from nodepda if sn_nodepda

To: Alex Williamson <alex.williamson@xxxxxx>, xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-ia64-devel] [patch] sn2 - only get nasid from nodepda if sn_nodepda is available
From: Jes Sorensen <jes@xxxxxxx>
Date: Tue, 19 Dec 2006 12:44:24 +0100
Delivery-date: Tue, 19 Dec 2006 03:44:18 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird (X11/20060527)

This one solves the problem where sn2_send_IPI() would cause a page
fault because sn_nodepda is not yet available at the time we try and
deference it to get the nasid.

This patch falls back to making the SAL call until sn_nodepda is

Signed-off-by: Jes Sorensen <jes@xxxxxxx>

# HG changeset patch
# User jes@xxxxxxxxxxxxxxxx
# Date 1166528481 -3600
# Node ID 665284c4a8e733114ee2992f47bf5d11d0888458
# Parent  0634616feb430b010cb1e7eb3bf8b31c43a9e5c9
fall back to getting nasid from sal cal if sn_nodepda is not yet available

diff -r 0634616feb43 -r 665284c4a8e7 xen/arch/ia64/linux-xen/sn/kernel/sn2_smp.c
--- a/xen/arch/ia64/linux-xen/sn/kernel/sn2_smp.c       Mon Dec 18 09:55:52 
2006 +0100
+++ b/xen/arch/ia64/linux-xen/sn/kernel/sn2_smp.c       Tue Dec 19 12:41:21 
2006 +0100
@@ -438,6 +438,11 @@ void sn2_send_IPI(int cpuid, int vector,
        int nasid;
        physid = cpu_physical_id(cpuid);
+#ifdef XEN
+       if (!sn_nodepda) {
+               ia64_sn_get_sapic_info(physid, &nasid, NULL, NULL);
+       } else
        nasid = cpuid_to_nasid(cpuid);
        /* the following is used only when starting cpus at boot time */
Xen-ia64-devel mailing list
<Prev in Thread] Current Thread [Next in Thread>