kernel_optimize_test/arch/ia64
Jack Steiner d74700e604 [IA64-SGI] Missed TLB flush
I see why the problem exists only on SN. SN uses a different hardware
mechanism to purge TLB entries across nodes.

It looks like there is a bug in the SN TLB flushing code. During context switch,
kernel threads inherit the mm of the task that was previously running on the
cpu. This confuses the code in sn2_global_tlb_purge().

The result is a missed TLB purge for the task that owns the "borrowed" mm.

(I hit the problem running heavy stress where kswapd was purging code pages of
a user task that woke kswapd. The user task took a SIGILL fault trying to
execute code in the page that had been ripped out from underneath it).

Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2005-12-16 10:46:25 -08:00
..
configs [IA64] refresh tiger_defconfig ready for 2.6.15 2005-12-02 16:18:42 -08:00
dig
hp [PATCH] ia64: fix-up schedule_timeout() usage 2005-11-07 07:53:56 -08:00
ia32 [IA64] Change SET_PERSONALITY to comply with comment in binfmt_elf.c. 2005-12-06 09:12:34 -08:00
kernel [IA64] uncached ref count leak 2005-12-16 10:29:52 -08: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 [IA64] Limit the maximum NODEDATA_ALIGN() offset 2005-12-06 09:10:37 -08:00
oprofile [PATCH] Move Kprobes and Oprofile to "Instrumentation Support" menu 2005-11-07 07:53:35 -08:00
pci [IA64] add the MMIO regions that are translated to I/O port space to /proc/iomem 2005-11-08 10:09:40 -08:00
scripts
sn [IA64-SGI] Missed TLB flush 2005-12-16 10:46:25 -08:00
defconfig [IA64] 4-level page tables 2005-11-11 09:37:29 -08:00
install.sh
Kconfig [PATCH] Fix Kconfig of DMA32 for ia64 2005-12-12 08:57:45 -08:00
Kconfig.debug [PATCH] Move Kprobes and Oprofile to "Instrumentation Support" menu 2005-11-07 07:53:35 -08:00
Makefile [IA64] fix circular dependency on generation of asm-offsets.h 2005-09-13 08:50:39 -07:00
module.lds