[IA64] Use bitmaps for efficient context allocation/free
commitdcc17d1baef3721d1574e5b2f4f2d4607514bcff
authorPeter Keilty <peter.keilty@hp.com>
Mon, 31 Oct 2005 21:44:47 +0000 (31 16:44 -0500)
committerTony Luck <tony.luck@intel.com>
Mon, 31 Oct 2005 22:36:05 +0000 (31 14:36 -0800)
tree78b19a9b54f57aa010f50201e7639786b0e5f770
parentf2c84c0e84bfa637a7161eac10157cf3b05b4a73
[IA64] Use bitmaps for efficient context allocation/free

Corrects the very inefficent method of finding free context_ids in
get_mmu_context().  Instead of walking the task_list of all processes,
2 bitmaps are used to efficently store and lookup state, inuse and
needs flushing. The entire rid address space is now used before calling
wrap_mmu_context and global tlb flushing.

Special thanks to Ken and Rohit for their review and modifications in
using a bit flushmap.

Signed-off-by: Peter Keilty <peter.keilty@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/kernel/setup.c
arch/ia64/mm/tlb.c
include/asm-ia64/mmu_context.h
include/asm-ia64/tlbflush.h