1
linux/arch/powerpc
Benjamin Herrenschmidt 2ca8cf7389 powerpc/mm: Rework context management for CPUs with no hash table
This reworks the context management code used by 4xx,8xx and
freescale BookE.  It adds support for SMP by implementing a
concept of stale context map to lazily flush the TLB on
processors where a context may have been invalidated.  This
also contains the ground work for generalizing such lazy TLB
flushing by just picking up a new PID and marking the old one
stale.  This will be implemented later.

This is a first implementation that uses a global spinlock.

Ideally, we should try to get at least the fast path (context ID
already assigned) lockless or limited to a per context lock,
but for now this will do.

I tried to keep the UP case reasonably simple to avoid adding
too much overhead to 8xx which does a lot of context stealing
since it effectively has only 16 PIDs available.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-12-21 14:21:15 +11:00
..
boot Merge branch 'next' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx into next 2008-12-17 11:01:43 +11:00
configs Merge branch 'next' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx into next 2008-12-17 11:01:43 +11:00
include/asm powerpc/mm: Rework context management for CPUs with no hash table 2008-12-21 14:21:15 +11:00
kernel powerpc/mm: Split mmu_context handling 2008-12-21 14:21:15 +11:00
kvm KVM: ppc: stop leaking host memory on VM exit 2008-11-25 12:02:48 +02:00
lib powerpc: Rename struct vm_region to avoid conflict with NOMMU 2008-12-21 14:21:14 +11:00
math-emu powerpc: Add SPE/EFP math emulation for E500v1/v2 processors. 2008-12-03 08:19:16 -06:00
mm powerpc/mm: Rework context management for CPUs with no hash table 2008-12-21 14:21:15 +11:00
oprofile powerpc/cell/OProfile: Fix on-stack array size in activate spu profiling function 2008-10-31 16:13:51 +11:00
platforms powerpc/mm: Split mmu_context handling 2008-12-21 14:21:15 +11:00
sysdev powerpc/4xx: Extended DCR support v2 2008-12-21 14:21:15 +11:00
xmon powerpc: Fix compile errors with CONFIG_BUG=n 2008-10-31 21:34:09 +11:00
Kconfig powerpc: Add sync_*_for_* to dma_ops 2008-12-03 20:46:36 +11:00
Kconfig.debug powerpc: Allow the max stack trace depth to be configured 2008-12-03 20:46:35 +11:00
Makefile powerpc: Remove unncessary SPE related compiler flag 2008-12-03 08:19:10 -06:00