diff options
author | Dean Roe <roe@sgi.com> | 2005-10-27 16:41:04 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-10-27 17:44:58 -0400 |
commit | c1902aae322952f8726469a6657df7b9d5c794fe (patch) | |
tree | 5c78f21c19597b64faf06e0faee7726ae01f7bbb /lib/idr.c | |
parent | 72ab373a5688a78cbdaf3bf96012e597d5399bb7 (diff) |
[IA64] - Avoid slow TLB purges on SGI Altix systems
flush_tlb_all() can be a scaling issue on large SGI Altix systems
since it uses the global call_lock and always executes on all cpus.
When a process enters flush_tlb_range() to purge TLBs for another
process, it is possible to avoid flush_tlb_all() and instead allow
sn2_global_tlb_purge() to purge TLBs only where necessary.
This patch modifies flush_tlb_range() so that this case can be handled
by platform TLB purge functions and updates ia64_global_tlb_purge()
accordingly. sn2_global_tlb_purge() now calculates the region register
value from the mm argument introduced with this patch.
Signed-off-by: Dean Roe <roe@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'lib/idr.c')
0 files changed, 0 insertions, 0 deletions