From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ryan Harper Subject: [PATCH 1/6] xen: Add NUMA support to Xen Date: Mon, 1 May 2006 16:56:48 -0500 Message-ID: <20060501215648.GU16776@us.ibm.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="XBg9NAhDNArbJUtw" Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Ryan Grimm List-Id: xen-devel@lists.xenproject.org --XBg9NAhDNArbJUtw Content-Type: text/plain; charset=us-ascii Content-Disposition: inline The attached tarball contains a script that will generate a patch that integrates NUMA support from Linux into Xen. The integration support borrows heavily from linux/arch/i386/srat.c for ACPI SRAT table parsing rather than using the more heavyweight ACPI_NUMA. The SRAT table code has been tested on x86_32 and x86_64 and works with both 32-bit and 64-bit systems. The code parses the SRAT table for memory and processor affinity and creates the proper node to cpu mapping. We define a new memory structure, node_memory_chunk_t, which is based on the same structure in linux, but tweaked for Xen. This structure is used to keep track of the discontiguous chunks of memory in the system and the node to which they belong. We bring in Linux macros and methods for node function like cpu_to_node, num_online_nodes, node_to_cpumask, etc. NUMA support in Xen is a compile-time option via the build system. Passing numa=y will enable all of the NUMA functionality. We have tested the code with numa=y and numa=n. To create the first numa patch, unpack the attached tarball, numa.tgz, and execute numa.sh. -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com --XBg9NAhDNArbJUtw Content-Type: application/x-gtar Content-Disposition: attachment; filename="numa.tgz" Content-Transfer-Encoding: base64 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 AMtMpC4AyAAAy9mmJoEtAAA= --XBg9NAhDNArbJUtw Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --XBg9NAhDNArbJUtw--