diff options
| author | Andrew Morton <akpm@digeo.com> | 2003-06-05 18:55:12 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-06-05 18:55:12 -0700 |
| commit | 2eb57dd2bb1e38f715e351806d42f695fa68b74c (patch) | |
| tree | 35a35f3738a6c28211947c0a6af38e3acaf55e7d /include | |
| parent | 7347b0d7c41c5fde934782a05d86c498235e9c1c (diff) | |
[PATCH] Don't let processes be scheduled on CPU-less nodes (1/3)
From: Matthew Dobson <colpatch@us.ibm.com>
sched_best_cpu schedules processes on nodes based on node_nr_running. For
CPU-less nodes, this is always 0, and thus sched_best_cpu tends to migrate
tasks to these nodes, which eventually get remigrated elsewhere.
This patch adds include/linux/topology.h, and modifies all includes of
asm/topology.h to linux/topology.h. A subsequent patch in this series adds
helper functions to linux/topology.h to ensure processes are only migrated
to nodes with CPUs.
Test compiled and booted by Andrew Theurer (habanero@us.ibm.com) on both
x440 and ppc64.
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-i386/cpu.h | 2 | ||||
| -rw-r--r-- | include/asm-i386/memblk.h | 2 | ||||
| -rw-r--r-- | include/asm-i386/node.h | 3 | ||||
| -rw-r--r-- | include/linux/mmzone.h | 2 | ||||
| -rw-r--r-- | include/linux/topology.h | 32 |
5 files changed, 36 insertions, 5 deletions
diff --git a/include/asm-i386/cpu.h b/include/asm-i386/cpu.h index b2b79ebda49b..8324108c134f 100644 --- a/include/asm-i386/cpu.h +++ b/include/asm-i386/cpu.h @@ -3,8 +3,8 @@ #include <linux/device.h> #include <linux/cpu.h> +#include <linux/topology.h> -#include <asm/topology.h> #include <asm/node.h> struct i386_cpu { diff --git a/include/asm-i386/memblk.h b/include/asm-i386/memblk.h index bd8187e358bb..668fc0d644ba 100644 --- a/include/asm-i386/memblk.h +++ b/include/asm-i386/memblk.h @@ -4,8 +4,8 @@ #include <linux/device.h> #include <linux/mmzone.h> #include <linux/memblk.h> +#include <linux/topology.h> -#include <asm/topology.h> #include <asm/node.h> struct i386_memblk { diff --git a/include/asm-i386/node.h b/include/asm-i386/node.h index 104f10b2bbf7..052e11250df9 100644 --- a/include/asm-i386/node.h +++ b/include/asm-i386/node.h @@ -4,8 +4,7 @@ #include <linux/device.h> #include <linux/mmzone.h> #include <linux/node.h> - -#include <asm/topology.h> +#include <linux/topology.h> struct i386_node { struct node node; diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 2a80a0c3fe2f..d60c10f0d9e2 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -255,7 +255,7 @@ static inline struct zone *next_zone(struct zone *zone) #define MAX_NR_MEMBLKS 1 #endif /* CONFIG_NUMA */ -#include <asm/topology.h> +#include <linux/topology.h> /* Returns the number of the current Node. */ #define numa_node_id() (cpu_to_node(smp_processor_id())) diff --git a/include/linux/topology.h b/include/linux/topology.h new file mode 100644 index 000000000000..fa83ecf25748 --- /dev/null +++ b/include/linux/topology.h @@ -0,0 +1,32 @@ +/* + * include/linux/topology.h + * + * Written by: Matthew Dobson, IBM Corporation + * + * Copyright (C) 2002, IBM Corp. + * + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or + * NON INFRINGEMENT. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Send feedback to <colpatch@us.ibm.com> + */ +#ifndef _LINUX_TOPOLOGY_H +#define _LINUX_TOPOLOGY_H + +#include <asm/topology.h> + +#endif /* _LINUX_TOPOLOGY_H */ |
