documentation: remove references to cpu_*_map.

This has been obsolescent for a while, fix documentation and
misc comments.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell 2012-03-29 15:38:31 +10:30
Родитель 88d8cd52bc
Коммит 5f054e31c6
11 изменённых файлов: 26 добавлений и 26 удалений

Просмотреть файл

@ -217,7 +217,7 @@ and name space for cpusets, with a minimum of additional kernel code.
The cpus and mems files in the root (top_cpuset) cpuset are The cpus and mems files in the root (top_cpuset) cpuset are
read-only. The cpus file automatically tracks the value of read-only. The cpus file automatically tracks the value of
cpu_online_map using a CPU hotplug notifier, and the mems file cpu_online_mask using a CPU hotplug notifier, and the mems file
automatically tracks the value of node_states[N_HIGH_MEMORY]--i.e., automatically tracks the value of node_states[N_HIGH_MEMORY]--i.e.,
nodes with memory--using the cpuset_track_online_nodes() hook. nodes with memory--using the cpuset_track_online_nodes() hook.

Просмотреть файл

@ -47,7 +47,7 @@ maxcpus=n Restrict boot time cpus to n. Say if you have 4 cpus, using
other cpus later online, read FAQ's for more info. other cpus later online, read FAQ's for more info.
additional_cpus=n (*) Use this to limit hotpluggable cpus. This option sets additional_cpus=n (*) Use this to limit hotpluggable cpus. This option sets
cpu_possible_map = cpu_present_map + additional_cpus cpu_possible_mask = cpu_present_mask + additional_cpus
cede_offline={"off","on"} Use this option to disable/enable putting offlined cede_offline={"off","on"} Use this option to disable/enable putting offlined
processors to an extended H_CEDE state on processors to an extended H_CEDE state on
@ -64,11 +64,11 @@ should only rely on this to count the # of cpus, but *MUST* not rely
on the apicid values in those tables for disabled apics. In the event on the apicid values in those tables for disabled apics. In the event
BIOS doesn't mark such hot-pluggable cpus as disabled entries, one could BIOS doesn't mark such hot-pluggable cpus as disabled entries, one could
use this parameter "additional_cpus=x" to represent those cpus in the use this parameter "additional_cpus=x" to represent those cpus in the
cpu_possible_map. cpu_possible_mask.
possible_cpus=n [s390,x86_64] use this to set hotpluggable cpus. possible_cpus=n [s390,x86_64] use this to set hotpluggable cpus.
This option sets possible_cpus bits in This option sets possible_cpus bits in
cpu_possible_map. Thus keeping the numbers of bits set cpu_possible_mask. Thus keeping the numbers of bits set
constant even if the machine gets rebooted. constant even if the machine gets rebooted.
CPU maps and such CPU maps and such
@ -76,7 +76,7 @@ CPU maps and such
[More on cpumaps and primitive to manipulate, please check [More on cpumaps and primitive to manipulate, please check
include/linux/cpumask.h that has more descriptive text.] include/linux/cpumask.h that has more descriptive text.]
cpu_possible_map: Bitmap of possible CPUs that can ever be available in the cpu_possible_mask: Bitmap of possible CPUs that can ever be available in the
system. This is used to allocate some boot time memory for per_cpu variables system. This is used to allocate some boot time memory for per_cpu variables
that aren't designed to grow/shrink as CPUs are made available or removed. that aren't designed to grow/shrink as CPUs are made available or removed.
Once set during boot time discovery phase, the map is static, i.e no bits Once set during boot time discovery phase, the map is static, i.e no bits
@ -84,13 +84,13 @@ are added or removed anytime. Trimming it accurately for your system needs
upfront can save some boot time memory. See below for how we use heuristics upfront can save some boot time memory. See below for how we use heuristics
in x86_64 case to keep this under check. in x86_64 case to keep this under check.
cpu_online_map: Bitmap of all CPUs currently online. Its set in __cpu_up() cpu_online_mask: Bitmap of all CPUs currently online. Its set in __cpu_up()
after a cpu is available for kernel scheduling and ready to receive after a cpu is available for kernel scheduling and ready to receive
interrupts from devices. Its cleared when a cpu is brought down using interrupts from devices. Its cleared when a cpu is brought down using
__cpu_disable(), before which all OS services including interrupts are __cpu_disable(), before which all OS services including interrupts are
migrated to another target CPU. migrated to another target CPU.
cpu_present_map: Bitmap of CPUs currently present in the system. Not all cpu_present_mask: Bitmap of CPUs currently present in the system. Not all
of them may be online. When physical hotplug is processed by the relevant of them may be online. When physical hotplug is processed by the relevant
subsystem (e.g ACPI) can change and new bit either be added or removed subsystem (e.g ACPI) can change and new bit either be added or removed
from the map depending on the event is hot-add/hot-remove. There are currently from the map depending on the event is hot-add/hot-remove. There are currently
@ -99,22 +99,22 @@ at which time hotplug is disabled.
You really dont need to manipulate any of the system cpu maps. They should You really dont need to manipulate any of the system cpu maps. They should
be read-only for most use. When setting up per-cpu resources almost always use be read-only for most use. When setting up per-cpu resources almost always use
cpu_possible_map/for_each_possible_cpu() to iterate. cpu_possible_mask/for_each_possible_cpu() to iterate.
Never use anything other than cpumask_t to represent bitmap of CPUs. Never use anything other than cpumask_t to represent bitmap of CPUs.
#include <linux/cpumask.h> #include <linux/cpumask.h>
for_each_possible_cpu - Iterate over cpu_possible_map for_each_possible_cpu - Iterate over cpu_possible_mask
for_each_online_cpu - Iterate over cpu_online_map for_each_online_cpu - Iterate over cpu_online_mask
for_each_present_cpu - Iterate over cpu_present_map for_each_present_cpu - Iterate over cpu_present_mask
for_each_cpu_mask(x,mask) - Iterate over some random collection of cpu mask. for_each_cpu_mask(x,mask) - Iterate over some random collection of cpu mask.
#include <linux/cpu.h> #include <linux/cpu.h>
get_online_cpus() and put_online_cpus(): get_online_cpus() and put_online_cpus():
The above calls are used to inhibit cpu hotplug operations. While the The above calls are used to inhibit cpu hotplug operations. While the
cpu_hotplug.refcount is non zero, the cpu_online_map will not change. cpu_hotplug.refcount is non zero, the cpu_online_mask will not change.
If you merely need to avoid cpus going away, you could also use If you merely need to avoid cpus going away, you could also use
preempt_disable() and preempt_enable() for those sections. preempt_disable() and preempt_enable() for those sections.
Just remember the critical section cannot call any Just remember the critical section cannot call any

Просмотреть файл

@ -450,7 +450,7 @@ setup_smp(void)
smp_num_probed = 1; smp_num_probed = 1;
} }
printk(KERN_INFO "SMP: %d CPUs probed -- cpu_present_map = %lx\n", printk(KERN_INFO "SMP: %d CPUs probed -- cpu_present_mask = %lx\n",
smp_num_probed, cpumask_bits(cpu_present_mask)[0]); smp_num_probed, cpumask_bits(cpu_present_mask)[0]);
} }

Просмотреть файл

@ -839,7 +839,7 @@ static __init int setup_additional_cpus(char *s)
early_param("additional_cpus", setup_additional_cpus); early_param("additional_cpus", setup_additional_cpus);
/* /*
* cpu_possible_map should be static, it cannot change as CPUs * cpu_possible_mask should be static, it cannot change as CPUs
* are onlined, or offlined. The reason is per-cpu data-structures * are onlined, or offlined. The reason is per-cpu data-structures
* are allocated by some modules at init time, and dont expect to * are allocated by some modules at init time, and dont expect to
* do this dynamically on cpu arrival/departure. * do this dynamically on cpu arrival/departure.

Просмотреть файл

@ -78,7 +78,7 @@ static inline void octeon_send_ipi_mask(const struct cpumask *mask,
} }
/** /**
* Detect available CPUs, populate cpu_possible_map * Detect available CPUs, populate cpu_possible_mask
*/ */
static void octeon_smp_hotplug_setup(void) static void octeon_smp_hotplug_setup(void)
{ {

Просмотреть файл

@ -146,7 +146,7 @@ static void __cpuinit yos_boot_secondary(int cpu, struct task_struct *idle)
} }
/* /*
* Detect available CPUs, populate cpu_possible_map before smp_init * Detect available CPUs, populate cpu_possible_mask before smp_init
* *
* We don't want to start the secondary CPU yet nor do we have a nice probing * We don't want to start the secondary CPU yet nor do we have a nice probing
* feature in PMON so we just assume presence of the secondary core. * feature in PMON so we just assume presence of the secondary core.

Просмотреть файл

@ -138,7 +138,7 @@ static void __cpuinit bcm1480_boot_secondary(int cpu, struct task_struct *idle)
/* /*
* Use CFE to find out how many CPUs are available, setting up * Use CFE to find out how many CPUs are available, setting up
* cpu_possible_map and the logical/physical mappings. * cpu_possible_mask and the logical/physical mappings.
* XXXKW will the boot CPU ever not be physical 0? * XXXKW will the boot CPU ever not be physical 0?
* *
* Common setup before any secondaries are started * Common setup before any secondaries are started

Просмотреть файл

@ -1100,7 +1100,7 @@ EXPORT_SYMBOL(hash_for_home_map);
/* /*
* cpu_cacheable_map lists all the cpus whose caches the hypervisor can * cpu_cacheable_map lists all the cpus whose caches the hypervisor can
* flush on our behalf. It is set to cpu_possible_map OR'ed with * flush on our behalf. It is set to cpu_possible_mask OR'ed with
* hash_for_home_map, and it is what should be passed to * hash_for_home_map, and it is what should be passed to
* hv_flush_remote() to flush all caches. Note that if there are * hv_flush_remote() to flush all caches. Note that if there are
* dedicated hypervisor driver tiles that have authorized use of their * dedicated hypervisor driver tiles that have authorized use of their

Просмотреть файл

@ -967,7 +967,7 @@ void xen_setup_shared_info(void)
xen_setup_mfn_list_list(); xen_setup_mfn_list_list();
} }
/* This is called once we have the cpu_possible_map */ /* This is called once we have the cpu_possible_mask */
void xen_setup_vcpu_info_placement(void) void xen_setup_vcpu_info_placement(void)
{ {
int cpu; int cpu;

Просмотреть файл

@ -1414,8 +1414,8 @@ endif # MODULES
config INIT_ALL_POSSIBLE config INIT_ALL_POSSIBLE
bool bool
help help
Back when each arch used to define their own cpu_online_map and Back when each arch used to define their own cpu_online_mask and
cpu_possible_map, some of them chose to initialize cpu_possible_map cpu_possible_mask, some of them chose to initialize cpu_possible_mask
with all 1s, and others with all 0s. When they were centralised, with all 1s, and others with all 0s. When they were centralised,
it was better to provide this option than to break all the archs it was better to provide this option than to break all the archs
and have several arch maintainers pursuing me down dark alleys. and have several arch maintainers pursuing me down dark alleys.

Просмотреть файл

@ -270,11 +270,11 @@ static struct file_system_type cpuset_fs_type = {
* are online. If none are online, walk up the cpuset hierarchy * are online. If none are online, walk up the cpuset hierarchy
* until we find one that does have some online cpus. If we get * until we find one that does have some online cpus. If we get
* all the way to the top and still haven't found any online cpus, * all the way to the top and still haven't found any online cpus,
* return cpu_online_map. Or if passed a NULL cs from an exit'ing * return cpu_online_mask. Or if passed a NULL cs from an exit'ing
* task, return cpu_online_map. * task, return cpu_online_mask.
* *
* One way or another, we guarantee to return some non-empty subset * One way or another, we guarantee to return some non-empty subset
* of cpu_online_map. * of cpu_online_mask.
* *
* Call with callback_mutex held. * Call with callback_mutex held.
*/ */
@ -867,7 +867,7 @@ static int update_cpumask(struct cpuset *cs, struct cpuset *trialcs,
int retval; int retval;
int is_load_balanced; int is_load_balanced;
/* top_cpuset.cpus_allowed tracks cpu_online_map; it's read-only */ /* top_cpuset.cpus_allowed tracks cpu_online_mask; it's read-only */
if (cs == &top_cpuset) if (cs == &top_cpuset)
return -EACCES; return -EACCES;
@ -2149,7 +2149,7 @@ void __init cpuset_init_smp(void)
* *
* Description: Returns the cpumask_var_t cpus_allowed of the cpuset * Description: Returns the cpumask_var_t cpus_allowed of the cpuset
* attached to the specified @tsk. Guaranteed to return some non-empty * attached to the specified @tsk. Guaranteed to return some non-empty
* subset of cpu_online_map, even if this means going outside the * subset of cpu_online_mask, even if this means going outside the
* tasks cpuset. * tasks cpuset.
**/ **/