From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ryan Harper Subject: Re: Re: [PATCH 1/6][RESEND] xen: Add NUMA support to Xen Date: Wed, 17 May 2006 12:21:24 -0500 Message-ID: <20060517172124.GO16876@us.ibm.com> References: <20060501215648.GU16776@us.ibm.com> <20060515203242.GM16876@us.ibm.com> <200605152246.30374.ak@suse.de> <25076f74e546e868c489e384ee838e2e@cl.cam.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <25076f74e546e868c489e384ee838e2e@cl.cam.ac.uk> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: Xen Devel , Andi Kleen , Ryan Grimm List-Id: xen-devel@lists.xenproject.org * Keir Fraser [2006-05-16 02:54]: > > On 15 May 2006, at 21:46, Andi Kleen wrote: > > >>What I'm fighting now is getting linux/arch/x86_64/mm/numa.c to build. > >>Some of the structures to track numa info (struct pglist_data) are > >>rather linux specific and include lots of structures related to Linux > >>mm > >>zones, check out linux/include/linux/mmzone.h. I attempted to avoid > >>bring in that in, but the pfn_to_nid/phys_to_nid macros are based on > >>memnodemap array. > > > > > >I guess you can just replace setup_node_bootmem / setup_node_zones / > >numa_free_all_bootmem with Xen specific functions. They should be the > >only > >functions dealing with pglists and they're relatively straight forward. > > Yes, my gut feeling looking at x86_64's numa.c is that it's going to > need some heavier surgery than srat.c. I wouldn't worry so much about > keeping that one close to the Linux original: if we end up pulling down > more Linux memory bookkeeping code later then we can always go back and > sync the file more closely. Keep it as clean as possible though, > obviously (e.g., replacing whole functions is nicer than functions that > are a hacky halfway house between Linux and Xen, etc). Is there an equivalent function in Xen for linux/arch/x86_64/kernel/e820.c:find_e820_area() ? I'm looking at linux/arch/x86_64/mm/numa.c:setup_node_bootmem() and as I understand, it finds a free location in the e820 map within a node's bounds to place the struct pglist_data which will hold node information. Is this something we should do in Xen, or can we just have a static array of structures which hold the node information? -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com