diff options
author | Li Zefan <lizf@cn.fujitsu.com> | 2009-01-07 21:08:45 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-08 11:31:11 -0500 |
commit | 6af866af34a96fed24a55979a78b6f73bd4e8e87 (patch) | |
tree | e0c4b27ce3b684ebb2f6fa3685051e01a86d7354 | |
parent | 300ed6cbb70718872cb4936d1d22ef295f9ba44d (diff) |
cpuset: remove remaining pointers to cpumask_t
Impact: cleanups, use new cpumask API
Final trivial cleanups: mainly s/cpumask_t/struct cpumask
Note there is a FIXME in generate_sched_domains(). A future patch will
change struct cpumask *doms to struct cpumask *doms[].
(I suppose Rusty will do this.)
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: Mike Travis <travis@sgi.com>
Cc: Paul Menage <menage@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | include/linux/cpuset.h | 10 | ||||
-rw-r--r-- | kernel/cpuset.c | 28 |
2 files changed, 21 insertions, 17 deletions
diff --git a/include/linux/cpuset.h b/include/linux/cpuset.h index 51ea2bdea0f9..90c6074a36ca 100644 --- a/include/linux/cpuset.h +++ b/include/linux/cpuset.h | |||
@@ -20,8 +20,9 @@ extern int number_of_cpusets; /* How many cpusets are defined in system? */ | |||
20 | extern int cpuset_init_early(void); | 20 | extern int cpuset_init_early(void); |
21 | extern int cpuset_init(void); | 21 | extern int cpuset_init(void); |
22 | extern void cpuset_init_smp(void); | 22 | extern void cpuset_init_smp(void); |
23 | extern void cpuset_cpus_allowed(struct task_struct *p, cpumask_t *mask); | 23 | extern void cpuset_cpus_allowed(struct task_struct *p, struct cpumask *mask); |
24 | extern void cpuset_cpus_allowed_locked(struct task_struct *p, cpumask_t *mask); | 24 | extern void cpuset_cpus_allowed_locked(struct task_struct *p, |
25 | struct cpumask *mask); | ||
25 | extern nodemask_t cpuset_mems_allowed(struct task_struct *p); | 26 | extern nodemask_t cpuset_mems_allowed(struct task_struct *p); |
26 | #define cpuset_current_mems_allowed (current->mems_allowed) | 27 | #define cpuset_current_mems_allowed (current->mems_allowed) |
27 | void cpuset_init_current_mems_allowed(void); | 28 | void cpuset_init_current_mems_allowed(void); |
@@ -86,12 +87,13 @@ static inline int cpuset_init_early(void) { return 0; } | |||
86 | static inline int cpuset_init(void) { return 0; } | 87 | static inline int cpuset_init(void) { return 0; } |
87 | static inline void cpuset_init_smp(void) {} | 88 | static inline void cpuset_init_smp(void) {} |
88 | 89 | ||
89 | static inline void cpuset_cpus_allowed(struct task_struct *p, cpumask_t *mask) | 90 | static inline void cpuset_cpus_allowed(struct task_struct *p, |
91 | struct cpumask *mask) | ||
90 | { | 92 | { |
91 | *mask = cpu_possible_map; | 93 | *mask = cpu_possible_map; |
92 | } | 94 | } |
93 | static inline void cpuset_cpus_allowed_locked(struct task_struct *p, | 95 | static inline void cpuset_cpus_allowed_locked(struct task_struct *p, |
94 | cpumask_t *mask) | 96 | struct cpumask *mask) |
95 | { | 97 | { |
96 | *mask = cpu_possible_map; | 98 | *mask = cpu_possible_map; |
97 | } | 99 | } |
diff --git a/kernel/cpuset.c b/kernel/cpuset.c index fc294aa9a97a..647c77a88fcb 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c | |||
@@ -289,7 +289,8 @@ static struct file_system_type cpuset_fs_type = { | |||
289 | * Call with callback_mutex held. | 289 | * Call with callback_mutex held. |
290 | */ | 290 | */ |
291 | 291 | ||
292 | static void guarantee_online_cpus(const struct cpuset *cs, cpumask_t *pmask) | 292 | static void guarantee_online_cpus(const struct cpuset *cs, |
293 | struct cpumask *pmask) | ||
293 | { | 294 | { |
294 | while (cs && !cpumask_intersects(cs->cpus_allowed, cpu_online_mask)) | 295 | while (cs && !cpumask_intersects(cs->cpus_allowed, cpu_online_mask)) |
295 | cs = cs->parent; | 296 | cs = cs->parent; |
@@ -610,7 +611,8 @@ update_domain_attr_tree(struct sched_domain_attr *dattr, struct cpuset *c) | |||
610 | * element of the partition (one sched domain) to be passed to | 611 | * element of the partition (one sched domain) to be passed to |
611 | * partition_sched_domains(). | 612 | * partition_sched_domains(). |
612 | */ | 613 | */ |
613 | static int generate_sched_domains(cpumask_t **domains, | 614 | /* FIXME: see the FIXME in partition_sched_domains() */ |
615 | static int generate_sched_domains(struct cpumask **domains, | ||
614 | struct sched_domain_attr **attributes) | 616 | struct sched_domain_attr **attributes) |
615 | { | 617 | { |
616 | LIST_HEAD(q); /* queue of cpusets to be scanned */ | 618 | LIST_HEAD(q); /* queue of cpusets to be scanned */ |
@@ -618,10 +620,10 @@ static int generate_sched_domains(cpumask_t **domains, | |||
618 | struct cpuset **csa; /* array of all cpuset ptrs */ | 620 | struct cpuset **csa; /* array of all cpuset ptrs */ |
619 | int csn; /* how many cpuset ptrs in csa so far */ | 621 | int csn; /* how many cpuset ptrs in csa so far */ |
620 | int i, j, k; /* indices for partition finding loops */ | 622 | int i, j, k; /* indices for partition finding loops */ |
621 | cpumask_t *doms; /* resulting partition; i.e. sched domains */ | 623 | struct cpumask *doms; /* resulting partition; i.e. sched domains */ |
622 | struct sched_domain_attr *dattr; /* attributes for custom domains */ | 624 | struct sched_domain_attr *dattr; /* attributes for custom domains */ |
623 | int ndoms = 0; /* number of sched domains in result */ | 625 | int ndoms = 0; /* number of sched domains in result */ |
624 | int nslot; /* next empty doms[] cpumask_t slot */ | 626 | int nslot; /* next empty doms[] struct cpumask slot */ |
625 | 627 | ||
626 | doms = NULL; | 628 | doms = NULL; |
627 | dattr = NULL; | 629 | dattr = NULL; |
@@ -629,7 +631,7 @@ static int generate_sched_domains(cpumask_t **domains, | |||
629 | 631 | ||
630 | /* Special case for the 99% of systems with one, full, sched domain */ | 632 | /* Special case for the 99% of systems with one, full, sched domain */ |
631 | if (is_sched_load_balance(&top_cpuset)) { | 633 | if (is_sched_load_balance(&top_cpuset)) { |
632 | doms = kmalloc(sizeof(cpumask_t), GFP_KERNEL); | 634 | doms = kmalloc(cpumask_size(), GFP_KERNEL); |
633 | if (!doms) | 635 | if (!doms) |
634 | goto done; | 636 | goto done; |
635 | 637 | ||
@@ -708,7 +710,7 @@ restart: | |||
708 | * Now we know how many domains to create. | 710 | * Now we know how many domains to create. |
709 | * Convert <csn, csa> to <ndoms, doms> and populate cpu masks. | 711 | * Convert <csn, csa> to <ndoms, doms> and populate cpu masks. |
710 | */ | 712 | */ |
711 | doms = kmalloc(ndoms * sizeof(cpumask_t), GFP_KERNEL); | 713 | doms = kmalloc(ndoms * cpumask_size(), GFP_KERNEL); |
712 | if (!doms) | 714 | if (!doms) |
713 | goto done; | 715 | goto done; |
714 | 716 | ||
@@ -720,7 +722,7 @@ restart: | |||
720 | 722 | ||
721 | for (nslot = 0, i = 0; i < csn; i++) { | 723 | for (nslot = 0, i = 0; i < csn; i++) { |
722 | struct cpuset *a = csa[i]; | 724 | struct cpuset *a = csa[i]; |
723 | cpumask_t *dp; | 725 | struct cpumask *dp; |
724 | int apn = a->pn; | 726 | int apn = a->pn; |
725 | 727 | ||
726 | if (apn < 0) { | 728 | if (apn < 0) { |
@@ -743,7 +745,7 @@ restart: | |||
743 | continue; | 745 | continue; |
744 | } | 746 | } |
745 | 747 | ||
746 | cpus_clear(*dp); | 748 | cpumask_clear(dp); |
747 | if (dattr) | 749 | if (dattr) |
748 | *(dattr + nslot) = SD_ATTR_INIT; | 750 | *(dattr + nslot) = SD_ATTR_INIT; |
749 | for (j = i; j < csn; j++) { | 751 | for (j = i; j < csn; j++) { |
@@ -790,7 +792,7 @@ done: | |||
790 | static void do_rebuild_sched_domains(struct work_struct *unused) | 792 | static void do_rebuild_sched_domains(struct work_struct *unused) |
791 | { | 793 | { |
792 | struct sched_domain_attr *attr; | 794 | struct sched_domain_attr *attr; |
793 | cpumask_t *doms; | 795 | struct cpumask *doms; |
794 | int ndoms; | 796 | int ndoms; |
795 | 797 | ||
796 | get_online_cpus(); | 798 | get_online_cpus(); |
@@ -2044,7 +2046,7 @@ static int cpuset_track_online_cpus(struct notifier_block *unused_nb, | |||
2044 | unsigned long phase, void *unused_cpu) | 2046 | unsigned long phase, void *unused_cpu) |
2045 | { | 2047 | { |
2046 | struct sched_domain_attr *attr; | 2048 | struct sched_domain_attr *attr; |
2047 | cpumask_t *doms; | 2049 | struct cpumask *doms; |
2048 | int ndoms; | 2050 | int ndoms; |
2049 | 2051 | ||
2050 | switch (phase) { | 2052 | switch (phase) { |
@@ -2114,7 +2116,7 @@ void __init cpuset_init_smp(void) | |||
2114 | /** | 2116 | /** |
2115 | * cpuset_cpus_allowed - return cpus_allowed mask from a tasks cpuset. | 2117 | * cpuset_cpus_allowed - return cpus_allowed mask from a tasks cpuset. |
2116 | * @tsk: pointer to task_struct from which to obtain cpuset->cpus_allowed. | 2118 | * @tsk: pointer to task_struct from which to obtain cpuset->cpus_allowed. |
2117 | * @pmask: pointer to cpumask_t variable to receive cpus_allowed set. | 2119 | * @pmask: pointer to struct cpumask variable to receive cpus_allowed set. |
2118 | * | 2120 | * |
2119 | * Description: Returns the cpumask_var_t cpus_allowed of the cpuset | 2121 | * Description: Returns the cpumask_var_t cpus_allowed of the cpuset |
2120 | * attached to the specified @tsk. Guaranteed to return some non-empty | 2122 | * attached to the specified @tsk. Guaranteed to return some non-empty |
@@ -2122,7 +2124,7 @@ void __init cpuset_init_smp(void) | |||
2122 | * tasks cpuset. | 2124 | * tasks cpuset. |
2123 | **/ | 2125 | **/ |
2124 | 2126 | ||
2125 | void cpuset_cpus_allowed(struct task_struct *tsk, cpumask_t *pmask) | 2127 | void cpuset_cpus_allowed(struct task_struct *tsk, struct cpumask *pmask) |
2126 | { | 2128 | { |
2127 | mutex_lock(&callback_mutex); | 2129 | mutex_lock(&callback_mutex); |
2128 | cpuset_cpus_allowed_locked(tsk, pmask); | 2130 | cpuset_cpus_allowed_locked(tsk, pmask); |
@@ -2133,7 +2135,7 @@ void cpuset_cpus_allowed(struct task_struct *tsk, cpumask_t *pmask) | |||
2133 | * cpuset_cpus_allowed_locked - return cpus_allowed mask from a tasks cpuset. | 2135 | * cpuset_cpus_allowed_locked - return cpus_allowed mask from a tasks cpuset. |
2134 | * Must be called with callback_mutex held. | 2136 | * Must be called with callback_mutex held. |
2135 | **/ | 2137 | **/ |
2136 | void cpuset_cpus_allowed_locked(struct task_struct *tsk, cpumask_t *pmask) | 2138 | void cpuset_cpus_allowed_locked(struct task_struct *tsk, struct cpumask *pmask) |
2137 | { | 2139 | { |
2138 | task_lock(tsk); | 2140 | task_lock(tsk); |
2139 | guarantee_online_cpus(task_cs(tsk), pmask); | 2141 | guarantee_online_cpus(task_cs(tsk), pmask); |