diff options
author | hawkes@sgi.com <hawkes@sgi.com> | 2005-10-10 08:43:26 -0700 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-10-25 15:10:08 -0700 |
commit | dc565b525d4b7091a3abb6616d210c8a896a11d7 (patch) | |
tree | 6bd7e8f5cd4e912bfe7f704b1a7b084bfc3cc123 /arch/ia64/mm/tlb.c | |
parent | 444d1d9bb5b724f03344c9317bc01d54a9b39073 (diff) | |
download | lwn-dc565b525d4b7091a3abb6616d210c8a896a11d7.tar.gz lwn-dc565b525d4b7091a3abb6616d210c8a896a11d7.zip |
[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) /* can't call flush_tlb_all() here because of race condition with O(1) scheduler [EF] */ { int cpu = get_cpu(); /* prevent preemption/migration */ - for (i = 0; i < NR_CPUS; ++i) - if (cpu_online(i) && (i != cpu)) + for_each_online_cpu(i) { + if (i != cpu) per_cpu(ia64_need_tlb_flush, i) = 1; + } put_cpu(); } local_flush_tlb_all(); |