diff -aurpN -X /home/fletch/.diff.exclude virgin/arch/i386/mach-default/topology.c no_memblk/arch/i386/mach-default/topology.c --- virgin/arch/i386/mach-default/topology.c Mon Dec 23 23:01:45 2002 +++ no_memblk/arch/i386/mach-default/topology.c Mon Jan 19 21:46:00 2004 @@ -34,10 +34,8 @@ struct i386_cpu cpu_devices[NR_CPUS]; #ifdef CONFIG_NUMA #include #include -#include struct i386_node node_devices[MAX_NUMNODES]; -struct i386_memblk memblk_devices[MAX_NR_MEMBLKS]; static int __init topology_init(void) { @@ -47,8 +45,6 @@ static int __init topology_init(void) arch_register_node(i); for (i = 0; i < NR_CPUS; i++) if (cpu_possible(i)) arch_register_cpu(i); - for (i = 0; i < num_online_memblks(); i++) - arch_register_memblk(i); return 0; } diff -aurpN -X /home/fletch/.diff.exclude virgin/arch/i386/mach-es7000/topology.c no_memblk/arch/i386/mach-es7000/topology.c --- virgin/arch/i386/mach-es7000/topology.c Tue Jun 17 20:58:51 2003 +++ no_memblk/arch/i386/mach-es7000/topology.c Mon Jan 19 21:46:32 2004 @@ -34,10 +34,8 @@ struct i386_cpu cpu_devices[NR_CPUS]; #ifdef CONFIG_NUMA #include #include -#include struct i386_node node_devices[MAX_NUMNODES]; -struct i386_memblk memblk_devices[MAX_NR_MEMBLKS]; static int __init topology_init(void) { @@ -47,8 +45,6 @@ static int __init topology_init(void) arch_register_node(i); for (i = 0; i < NR_CPUS; i++) if (cpu_possible(i)) arch_register_cpu(i); - for (i = 0; i < num_online_memblks(); i++) - arch_register_memblk(i); return 0; } diff -aurpN -X /home/fletch/.diff.exclude virgin/arch/ia64/mm/numa.c no_memblk/arch/ia64/mm/numa.c --- virgin/arch/ia64/mm/numa.c Mon Nov 17 18:29:48 2003 +++ no_memblk/arch/ia64/mm/numa.c Mon Jan 19 21:56:06 2004 @@ -13,14 +13,12 @@ #include #include #include -#include #include #include #include #include #include -static struct memblk *sysfs_memblks; static struct node *sysfs_nodes; static struct cpu *sysfs_cpus; @@ -62,18 +60,8 @@ static int __init topology_init(void) } memset(sysfs_nodes, 0, sizeof(struct node) * numnodes); - sysfs_memblks = kmalloc(sizeof(struct memblk) * num_memblks, - GFP_KERNEL); - if (!sysfs_memblks) { - kfree(sysfs_nodes); - err = -ENOMEM; - goto out; - } - memset(sysfs_memblks, 0, sizeof(struct memblk) * num_memblks); - sysfs_cpus = kmalloc(sizeof(struct cpu) * NR_CPUS, GFP_KERNEL); if (!sysfs_cpus) { - kfree(sysfs_memblks); kfree(sysfs_nodes); err = -ENOMEM; goto out; @@ -82,11 +70,6 @@ static int __init topology_init(void) for (i = 0; i < numnodes; i++) if ((err = register_node(&sysfs_nodes[i], i, 0))) - goto out; - - for (i = 0; i < num_memblks; i++) - if ((err = register_memblk(&sysfs_memblks[i], i, - &sysfs_nodes[memblk_to_node(i)]))) goto out; for (i = 0; i < NR_CPUS; i++) diff -aurpN -X /home/fletch/.diff.exclude virgin/drivers/base/Makefile no_memblk/drivers/base/Makefile --- virgin/drivers/base/Makefile Tue Sep 2 09:55:44 2003 +++ no_memblk/drivers/base/Makefile Mon Jan 19 21:56:35 2004 @@ -5,4 +5,4 @@ obj-y := core.o sys.o interface.o bus. cpu.o firmware.o init.o map.o obj-y += power/ obj-$(CONFIG_FW_LOADER) += firmware_class.o -obj-$(CONFIG_NUMA) += node.o memblk.o +obj-$(CONFIG_NUMA) += node.o diff -aurpN -X /home/fletch/.diff.exclude virgin/drivers/base/memblk.c no_memblk/drivers/base/memblk.c --- virgin/drivers/base/memblk.c Mon Nov 17 18:28:10 2003 +++ no_memblk/drivers/base/memblk.c Wed Dec 31 16:00:00 1969 @@ -1,43 +0,0 @@ -/* - * drivers/base/memblk.c - basic Memory Block class support - */ - -#include -#include -#include -#include -#include - - -static struct sysdev_class memblk_class = { - set_kset_name("memblk"), -}; - -/* - * register_memblk - Setup a driverfs device for a MemBlk - * @num - MemBlk number to use when creating the device. - * - * Initialize and register the MemBlk device. - */ -int __init register_memblk(struct memblk *memblk, int num, struct node *root) -{ - int error; - - memblk->node_id = memblk_to_node(num); - memblk->sysdev.cls = &memblk_class, - memblk->sysdev.id = num; - - error = sys_device_register(&memblk->sysdev); - if (!error) - error = sysfs_create_link(&root->sysdev.kobj, - &memblk->sysdev.kobj, - kobject_name(&memblk->sysdev.kobj)); - return error; -} - - -int __init register_memblk_type(void) -{ - return sysdev_class_register(&memblk_class); -} -postcore_initcall(register_memblk_type); diff -aurpN -X /home/fletch/.diff.exclude virgin/include/asm-alpha/topology.h no_memblk/include/asm-alpha/topology.h --- virgin/include/asm-alpha/topology.h Thu Feb 13 11:08:13 2003 +++ no_memblk/include/asm-alpha/topology.h Mon Jan 19 21:58:36 2004 @@ -40,9 +40,6 @@ static inline int node_to_cpumask(int no return node_cpu_mask; } -# define node_to_memblk(node) (node) -# define memblk_to_node(memblk) (memblk) - /* Cross-node load balancing interval. */ # define NODE_BALANCE_RATE 10 diff -aurpN -X /home/fletch/.diff.exclude virgin/include/asm-generic/topology.h no_memblk/include/asm-generic/topology.h --- virgin/include/asm-generic/topology.h Wed Mar 5 07:37:06 2003 +++ no_memblk/include/asm-generic/topology.h Mon Jan 19 21:56:59 2004 @@ -32,9 +32,6 @@ #ifndef cpu_to_node #define cpu_to_node(cpu) (0) #endif -#ifndef memblk_to_node -#define memblk_to_node(memblk) (0) -#endif #ifndef parent_node #define parent_node(node) (0) #endif @@ -43,9 +40,6 @@ #endif #ifndef node_to_first_cpu #define node_to_first_cpu(node) (0) -#endif -#ifndef node_to_memblk -#define node_to_memblk(node) (0) #endif #ifndef pcibus_to_cpumask #define pcibus_to_cpumask(bus) (cpu_online_map) diff -aurpN -X /home/fletch/.diff.exclude virgin/include/asm-i386/memblk.h no_memblk/include/asm-i386/memblk.h --- virgin/include/asm-i386/memblk.h Sat Jun 14 18:37:35 2003 +++ no_memblk/include/asm-i386/memblk.h Wed Dec 31 16:00:00 1969 @@ -1,23 +0,0 @@ -#ifndef _ASM_I386_MEMBLK_H_ -#define _ASM_I386_MEMBLK_H_ - -#include -#include -#include -#include - -#include - -struct i386_memblk { - struct memblk memblk; -}; -extern struct i386_memblk memblk_devices[MAX_NR_MEMBLKS]; - -static inline int arch_register_memblk(int num){ - int p_node = memblk_to_node(num); - - return register_memblk(&memblk_devices[num].memblk, num, - &node_devices[p_node].node); -} - -#endif /* _ASM_I386_MEMBLK_H_ */ diff -aurpN -X /home/fletch/.diff.exclude virgin/include/asm-i386/topology.h no_memblk/include/asm-i386/topology.h --- virgin/include/asm-i386/topology.h Tue Sep 2 09:55:53 2003 +++ no_memblk/include/asm-i386/topology.h Mon Jan 19 21:58:56 2004 @@ -43,9 +43,6 @@ static inline int cpu_to_node(int cpu) return cpu_2_node[cpu]; } -/* Returns the number of the node containing MemBlk 'memblk' */ -#define memblk_to_node(memblk) (memblk) - /* Returns the number of the node containing Node 'node'. This architecture is flat, so it is a pretty simple function! */ #define parent_node(node) (node) @@ -62,9 +59,6 @@ static inline int node_to_first_cpu(int cpumask_t mask = node_to_cpumask(node); return first_cpu(mask); } - -/* Returns the number of the first MemBlk on Node 'node' */ -#define node_to_memblk(node) (node) /* Returns the number of the node containing PCI bus 'bus' */ static inline cpumask_t pcibus_to_cpumask(int bus) diff -aurpN -X /home/fletch/.diff.exclude virgin/include/asm-ia64/mmzone.h no_memblk/include/asm-ia64/mmzone.h --- virgin/include/asm-ia64/mmzone.h Mon Nov 17 18:29:43 2003 +++ no_memblk/include/asm-ia64/mmzone.h Mon Jan 19 21:58:00 2004 @@ -20,11 +20,9 @@ #ifdef CONFIG_IA64_DIG /* DIG systems are small */ # define MAX_PHYSNODE_ID 8 # define NR_NODES 8 -# define NR_MEMBLKS (NR_NODES * 32) #else /* sn2 is the biggest case, so we use that if !DIG */ # define MAX_PHYSNODE_ID 2048 # define NR_NODES 256 -# define NR_MEMBLKS (NR_NODES) #endif extern unsigned long max_low_pfn; diff -aurpN -X /home/fletch/.diff.exclude virgin/include/asm-ia64/topology.h no_memblk/include/asm-ia64/topology.h --- virgin/include/asm-ia64/topology.h Wed Jul 2 21:59:12 2003 +++ no_memblk/include/asm-ia64/topology.h Mon Jan 19 21:53:00 2004 @@ -29,15 +29,6 @@ #define node_to_cpumask(node) (node_to_cpu_mask[node]) /* - * Returns the number of the node containing MemBlk 'memblk' - */ -#ifdef CONFIG_ACPI_NUMA -#define memblk_to_node(memblk) (node_memblk[memblk].nid) -#else -#define memblk_to_node(memblk) (memblk) -#endif - -/* * Returns the number of the node containing Node 'nid'. * Not implemented here. Multi-level hierarchies detected with * the help of node_distance(). @@ -48,12 +39,6 @@ * Returns the number of the first CPU on Node 'node'. */ #define node_to_first_cpu(node) (__ffs(node_to_cpumask(node))) - -/* - * Returns the number of the first MemBlk on Node 'node' - * Should be fixed when IA64 discontigmem goes in. - */ -#define node_to_memblk(node) (node) /* Cross-node load balancing interval. */ #define NODE_BALANCE_RATE 10 diff -aurpN -X /home/fletch/.diff.exclude virgin/include/asm-ppc64/topology.h no_memblk/include/asm-ppc64/topology.h --- virgin/include/asm-ppc64/topology.h Mon Nov 17 18:28:58 2003 +++ no_memblk/include/asm-ppc64/topology.h Mon Jan 19 21:50:40 2004 @@ -20,8 +20,6 @@ static inline int cpu_to_node(int cpu) return node; } -#define memblk_to_node(memblk) (memblk) - #define parent_node(node) (node) static inline cpumask_t node_to_cpumask(int node) @@ -35,8 +33,6 @@ static inline int node_to_first_cpu(int tmp = node_to_cpumask(node); return first_cpu(tmp); } - -#define node_to_memblk(node) (node) #define pcibus_to_cpumask(bus) (cpu_online_map) diff -aurpN -X /home/fletch/.diff.exclude virgin/include/asm-x86_64/topology.h no_memblk/include/asm-x86_64/topology.h --- virgin/include/asm-x86_64/topology.h Mon Dec 8 09:55:53 2003 +++ no_memblk/include/asm-x86_64/topology.h Mon Jan 19 21:58:18 2004 @@ -15,11 +15,9 @@ extern int fake_node; extern unsigned long cpu_online_map; #define cpu_to_node(cpu) (fake_node ? 0 : (cpu)) -#define memblk_to_node(memblk) (fake_node ? 0 : (memblk)) #define parent_node(node) (node) #define node_to_first_cpu(node) (fake_node ? 0 : (node)) #define node_to_cpumask(node) (fake_node ? cpu_online_map : (1UL << (node))) -#define node_to_memblk(node) (node) static inline unsigned long pcibus_to_cpumask(int bus) { diff -aurpN -X /home/fletch/.diff.exclude virgin/include/linux/memblk.h no_memblk/include/linux/memblk.h --- virgin/include/linux/memblk.h Sun Nov 17 20:29:56 2002 +++ no_memblk/include/linux/memblk.h Wed Dec 31 16:00:00 1969 @@ -1,32 +0,0 @@ -/* - * include/linux/memblk.h - generic memblk definition - * - * This is mainly for topological representation. We define the - * basic 'struct memblk' here, which can be embedded in per-arch - * definitions of memory blocks. - * - * Basic handling of the devices is done in drivers/base/memblk.c - * and system devices are handled in drivers/base/sys.c. - * - * MemBlks are exported via driverfs in the class/memblk/devices/ - * directory. - * - * Per-memblk interfaces can be implemented using a struct device_interface. - * See the following for how to do this: - * - drivers/base/intf.c - * - Documentation/driver-model/interface.txt - */ -#ifndef _LINUX_MEMBLK_H_ -#define _LINUX_MEMBLK_H_ - -#include -#include - -struct memblk { - int node_id; /* The node which contains the MemBlk */ - struct sys_device sysdev; -}; - -extern int register_memblk(struct memblk *, int, struct node *); - -#endif /* _LINUX_MEMBLK_H_ */ diff -aurpN -X /home/fletch/.diff.exclude virgin/include/linux/mmzone.h no_memblk/include/linux/mmzone.h --- virgin/include/linux/mmzone.h Fri Jan 9 17:40:08 2004 +++ no_memblk/include/linux/mmzone.h Mon Jan 19 21:49:33 2004 @@ -288,12 +288,6 @@ struct file; int min_free_kbytes_sysctl_handler(struct ctl_table *, int, struct file *, void *, size_t *); -#ifdef CONFIG_NUMA -#define MAX_NR_MEMBLKS BITS_PER_LONG /* Max number of Memory Blocks */ -#else /* !CONFIG_NUMA */ -#define MAX_NR_MEMBLKS 1 -#endif /* CONFIG_NUMA */ - #include /* Returns the number of the current Node. */ #define numa_node_id() (cpu_to_node(smp_processor_id())) @@ -329,7 +323,6 @@ extern struct pglist_data contig_page_da #endif extern DECLARE_BITMAP(node_online_map, MAX_NUMNODES); -extern DECLARE_BITMAP(memblk_online_map, MAX_NR_MEMBLKS); #if defined(CONFIG_DISCONTIGMEM) || defined(CONFIG_NUMA) @@ -347,20 +340,6 @@ static inline unsigned int num_online_no return num; } -#define memblk_online(memblk) test_bit(memblk, memblk_online_map) -#define memblk_set_online(memblk) set_bit(memblk, memblk_online_map) -#define memblk_set_offline(memblk) clear_bit(memblk, memblk_online_map) -static inline unsigned int num_online_memblks(void) -{ - int i, num = 0; - - for(i = 0; i < MAX_NR_MEMBLKS; i++){ - if (memblk_online(i)) - num++; - } - return num; -} - #else /* !CONFIG_DISCONTIGMEM && !CONFIG_NUMA */ #define node_online(node) \ @@ -370,14 +349,6 @@ static inline unsigned int num_online_me #define node_set_offline(node) \ ({ BUG_ON((node) != 0); clear_bit(node, node_online_map); }) #define num_online_nodes() 1 - -#define memblk_online(memblk) \ - ({ BUG_ON((memblk) != 0); test_bit(memblk, memblk_online_map); }) -#define memblk_set_online(memblk) \ - ({ BUG_ON((memblk) != 0); set_bit(memblk, memblk_online_map); }) -#define memblk_set_offline(memblk) \ - ({ BUG_ON((memblk) != 0); clear_bit(memblk, memblk_online_map); }) -#define num_online_memblks() 1 #endif /* CONFIG_DISCONTIGMEM || CONFIG_NUMA */ #endif /* !__ASSEMBLY__ */ diff -aurpN -X /home/fletch/.diff.exclude virgin/mm/page_alloc.c no_memblk/mm/page_alloc.c --- virgin/mm/page_alloc.c Fri Jan 9 17:40:10 2004 +++ no_memblk/mm/page_alloc.c Mon Jan 19 21:59:26 2004 @@ -35,7 +35,6 @@ #include DECLARE_BITMAP(node_online_map, MAX_NUMNODES); -DECLARE_BITMAP(memblk_online_map, MAX_NR_MEMBLKS); struct pglist_data *pgdat_list; unsigned long totalram_pages; unsigned long totalhigh_pages; @@ -1390,7 +1389,6 @@ void __init free_area_init_node(int nid, pgdat->node_mem_map = node_mem_map; free_area_init_core(pgdat, zones_size, zholes_size); - memblk_set_online(node_to_memblk(nid)); calculate_zone_bitmap(pgdat, zones_size); }