From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ryan Harper Subject: [PATCH] 1/7 xen: Add basic NUMA support - Infrastructure Date: Fri, 16 Dec 2005 17:03:28 -0600 Message-ID: <20051216230328.GD14377@us.ibm.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Clx92ZfkiYIKRjnr" 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 --Clx92ZfkiYIKRjnr 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_s, 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 invoke numa.sh. -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com --Clx92ZfkiYIKRjnr Content-Type: application/x-gtar Content-Disposition: attachment; filename="numa.tgz" Content-Transfer-Encoding: base64 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 dlhch5hztw8Pu0e9nqo+KHxApXV0aFzw5ornjcu1KGRhhKo1scPJPUR9P8BJyOeEUz6bYTzR 2J+hObtyYIyPE4YgCfpIFfLGiwUetIqeEzb4gayRXC7uvxsX9wFyNxjfR4YMRswcxUVbLtbX CzBSYqlTeUic8tETs5kIERUxOmWwJ5OoAdB1Agdd52ByL+iKSeFoSOSMpujW00HUSDUdVATk C+NnWWOYHtLxFB0ZCBRiTtJEVLh4jCadD1/StTpTDIYNJqoGzVp2+6yyt/KHBpeI2NAjARMK zISav2N10ixs0i6ZKLsqP5GbhJM4x/6iEgqbb/A2SeH/JvbNjqZ0BP4AzoSOQvJTSDUpTHNy 2j1uf5k7kxqWmS2jwmrGHN7PnU+fj4+OM4j7Mjpke18Rm/bnJVT3WOGhLjcig0ji99ReoDFs uuQB1bk81BFHMWBPbu37iANq9McRzUQSl86TRBahobE9Ccgo7CiaTR0hbBL+0A0xHF/miZcT v8vd9/4MlcuhcwGhUvaEUQgiWWMcDhJrvJ8SlP1ZGJJCohEepCjpdGEYS/tGYAGZUX8WgVC5 eUaMfTjOPRC+zZAFi9qiWvBqpsS1oKCzILmgoo5MLVjMJALaNKcemhRcFNEf0TJlCIuhc+yT PbkXm+rtelNsJJJayFz0fBjNbPTCseMI1xAnAlXMk9jUFnXQKTh0N4AZqKZEWKrdQuyiKK+c vj3jg0AUkYSIxOhVVRBeVXjRjZIXJcNpC7FG5JdsIg6N4wS67eN0/9OG0lmpRysY3nAtMtle ItgA49ej7onVOfl4CstJ4MhrRNBoh+OJt5M7qO8D/0gCyDkTJRmG7JAxR0lcWUIuVWVecrXB zICrHIqVZ2xHSandmRoEzNDcmdDBGX8agefJ1OLukmH784b9yxNJdohB7+bwKpkkA52fIokx n1YYpFK+pEqk2DyefioAmUXrZcQnJNJzqo7FXBp98KMVx/l5tF5ynP5PKTlO/9ySoyYekrad zYAxizUMlKKZ7Ri7MssVokikmuYnMldlapO0N4MtSaAlqkwhMg5dtHyh7U5crs+MHI0pKA0j nfI1movhcKivOums19PKqsiNS5iXkfPjGXEyy5Py4uWs+uEntXgry2fdDrJjWc+Xqe0O24r1 XNLedNl1ndNmNqvWe3YLaioaHjRuPzXPFox8VqrNQ56dbSckazm3qNtoWTcvL8simYCrBSoM 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 --Clx92ZfkiYIKRjnr 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 --Clx92ZfkiYIKRjnr--