Dave Hansen wrote: [Wed Mar 23 2005, 09:04:33PM EST] > I'd appreciate looks at any of the patches leading up to and including > all of the B-sparse ones. I want to push those into -mm any day now. > > Changes since 2.6.11-bk7-mhp1: > - .configs and compile testing for alpha and arm > - mm/Kconfig for *EVERYBODY* > - user ARCH_ENABLE_DISCONTIGMEM instead of DISCONTIGMEM in all arch > Kconfig files and defconfigs > - CONFIG_NEED_MULTIPLE_NODES to separate out DISCONTIG from NUMA > (we need NUMA for SPARSE, but not DISCONTIG) > - MAP_IMMOVABLE for alpha and arm > - CONFIG_ARCH_HAS_BOOTPA - created for i386, ia64, x86_64 > Otherwise, we can't use __boot_pa() in linux/bootmem.h > > Everything up to sparsemem compiles and works on all of the > architectures. Somewhere after that, ppc64 breaks. I'm done debugging > build problems for the day, so I'd appreciate if one of you folks could > figure it out. It's probably a CONFIG_{NUMA,DISCONTIGMEM} problem. > Once that's fixed up, I can release another one of these quickly. > > http://www.sr71.net/patches/2.6.12/2.6.12-rc1-mhp1/ > http://www.sr71.net/patches/2.6.12/2.6.12-rc1-mhp1/patch-2.6.12-rc1-mhp1.gz > > -- Dave > Dave, The broken-out-2.6.12-rc1-mhp1.tar.gz appears to have some problems. The first quilt push -a reject is B-sparse-160-sparsemem-i386.patch. The composite patch also has an issue with arch/i386/mm/discontig.c. The reject is appended below. bob *************** *** 42,55 **** * populated the following initialisation. * * 1) node_online_map - the map of all nodes configured (online) in the system - * 2) physnode_map - the mapping between a pfn and owning node - * 3) node_start_pfn - the starting page frame number for a node * 3) node_end_pfn - the ending page fram number for a node */ unsigned long node_start_pfn[MAX_NUMNODES]; unsigned long node_end_pfn[MAX_NUMNODES]; /* * physnode_map keeps track of the physical memory layout of a generic * numa node on a 256Mb break (each element of the array will * represent 256Mb of memory and will be marked by the node id. so, --- 42,58 ---- * populated the following initialisation. * * 1) node_online_map - the map of all nodes configured (online) in the system + * 2) node_start_pfn - the starting page frame number for a node * 3) node_end_pfn - the ending page fram number for a node */ unsigned long node_start_pfn[MAX_NUMNODES]; unsigned long node_end_pfn[MAX_NUMNODES]; + #ifdef CONFIG_DISCONTIGMEM + /* XXX: this chunk is really the correct contents of discontig.c */ + /* + * 4) physnode_map - the mapping between a pfn and owning node * physnode_map keeps track of the physical memory layout of a generic * numa node on a 256Mb break (each element of the array will * represent 256Mb of memory and will be marked by the node id. so,