linux/arch/ia64
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
..
configs Pull sparsemem-v5 into release branch 2005-10-28 14:32:56 -07:00
dig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hp Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2005-10-28 21:09:26 -07:00
ia32 [PATCH] error path in setup_arg_pages() misses vm_unacct_memory() 2005-09-14 11:18:13 -07:00
kernel [PATCH] mm: vm_stat_account unshackled 2005-10-29 21:40:37 -07:00
lib Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2005-10-28 21:09:26 -07:00
mm [PATCH] mm: flush_tlb_range outside ptlock 2005-10-29 21:40:40 -07:00
oprofile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci Pull acpi-produce-consume into release branch 2005-10-28 13:23:34 -07:00
scripts Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sn Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2005-10-28 21:09:26 -07:00
defconfig [IA64] Update default configs 2005-09-15 14:34:31 -07:00
install.sh Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig Pull sparsemem-v5 into release branch 2005-10-28 14:32:56 -07:00
Kconfig.debug [PATCH] Kprobes/IA64: arch specific handling 2005-06-23 09:45:22 -07:00
Makefile [IA64] fix circular dependency on generation of asm-offsets.h 2005-09-13 08:50:39 -07:00
module.lds Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00