linux/arch/ia64/mm
Hugh Dickins 663b97f7ef [PATCH] mm: flush_tlb_range outside ptlock
There was one small but very significant change in the previous patch:
mprotect's flush_tlb_range fell outside the page_table_lock: as it is in 2.4,
but that doesn't prove it safe in 2.6.

On some architectures flush_tlb_range comes to the same as flush_tlb_mm, which
has always been called from outside page_table_lock in dup_mmap, and is so
proved safe.  Others required a deeper audit: I could find no reliance on
page_table_lock in any; but in ia64 and parisc found some code which looks a
bit as if it might want preemption disabled.  That won't do any actual harm,
so pending a decision from the maintainers, disable preemption there.

Remove comments on page_table_lock from flush_tlb_mm, flush_tlb_range and
flush_tlb_page entries in cachetlb.txt: they were rather misleading (what
generic code does is different from what usually happens), the rules are now
changing, and it's not yet clear where we'll end up (will the generic
tlb_flush_mmu happen always under lock?  never under lock?  or sometimes under
and sometimes not?).

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29 21:40:40 -07:00
..
contig.c [PATCH] V5 ia64 SPARSEMEM - eliminate contig_page_data 2005-10-04 13:20:23 -07:00
discontig.c [PATCH] V5 ia64 SPARSEMEM - SPARSEMEM code changes 2005-10-04 13:21:38 -07:00
extable.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fault.c [PATCH] mm: ia64 use expand_upwards 2005-10-29 21:40:39 -07:00
hugetlbpage.c [IA64] Rationalise Region Definitions 2005-08-24 15:35:41 -07:00
init.c [PATCH] mm: init_mm without ptlock 2005-10-29 21:40:40 -07:00
Makefile [PATCH] V5 ia64 SPARSEMEM - Kconfig and Makefile 2005-10-04 13:19:30 -07:00
numa.c [PATCH] V5 ia64 SPARSEMEM - SPARSEMEM code changes 2005-10-04 13:21:38 -07:00
tlb.c [PATCH] mm: flush_tlb_range outside ptlock 2005-10-29 21:40:40 -07:00