diff options
author | hawkes@sgi.com <hawkes@sgi.com> | 2005-10-10 11:43:26 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-10-25 18:10:08 -0400 |
commit | dc565b525d4b7091a3abb6616d210c8a896a11d7 (patch) | |
tree | 6bd7e8f5cd4e912bfe7f704b1a7b084bfc3cc123 /arch/ia64/mm/tlb.c | |
parent | 444d1d9bb5b724f03344c9317bc01d54a9b39073 (diff) |
[IA64] wider use of for_each_cpu_mask() in arch/ia64
In arch/ia64 change the explicit use of for-loops and NR_CPUS into the
general for_each_cpu() or for_each_online_cpu() constructs, as
appropriate. This widens the scope of potential future optimizations
of the general constructs, as well as takes advantage of the existing
optimizations of first_cpu() and next_cpu().
Signed-off-by: John Hawkes <hawkes@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/mm/tlb.c')
-rw-r--r-- | arch/ia64/mm/tlb.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/ia64/mm/tlb.c b/arch/ia64/mm/tlb.c index 464557e4ed82..987fb754d6ad 100644 --- a/arch/ia64/mm/tlb.c +++ b/arch/ia64/mm/tlb.c | |||
@@ -77,9 +77,10 @@ wrap_mmu_context (struct mm_struct *mm) | |||
77 | /* can't call flush_tlb_all() here because of race condition with O(1) scheduler [EF] */ | 77 | /* can't call flush_tlb_all() here because of race condition with O(1) scheduler [EF] */ |
78 | { | 78 | { |
79 | int cpu = get_cpu(); /* prevent preemption/migration */ | 79 | int cpu = get_cpu(); /* prevent preemption/migration */ |
80 | for (i = 0; i < NR_CPUS; ++i) | 80 | for_each_online_cpu(i) { |
81 | if (cpu_online(i) && (i != cpu)) | 81 | if (i != cpu) |
82 | per_cpu(ia64_need_tlb_flush, i) = 1; | 82 | per_cpu(ia64_need_tlb_flush, i) = 1; |
83 | } | ||
83 | put_cpu(); | 84 | put_cpu(); |
84 | } | 85 | } |
85 | local_flush_tlb_all(); | 86 | local_flush_tlb_all(); |