android_kernel_xiaomi_sm8350/arch/ia64/sn/kernel
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
..
sn2 [IA64-SGI] Missed TLB flush 2005-12-16 10:46:25 -08:00
bte_error.c
bte.c [IA64-SGI] bte_copy nasid_index fix 2005-11-21 14:19:36 -08:00
huberror.c [IA64-SGI] - New SN hardware support - cpu_relax 2005-08-17 15:31:53 -07:00
idle.c
io_init.c [IA64-SGI] altix: pci_window fixup 2005-12-06 09:09:23 -08:00
iomv.c
irq.c Merge linux-2.6 into linux-acpi-2.6 test 2005-09-03 02:44:09 -04:00
klconflib.c
machvec.c
Makefile
mca.c
setup.c [IA64-SGI] set altix preferred console 2005-11-11 11:24:26 -08:00
tiocx.c Pull define-node-cleanup into release branch 2005-10-28 13:24:06 -07:00
xp_main.c
xp_nofault.S
xpc_channel.c [IA64-SGI] fixes for XPC disengage and open/close protocol 2005-10-25 16:27:37 -07:00
xpc_main.c [IA64] utilize notify_die() for XPC disengage 2005-11-10 11:32:41 -08:00
xpc_partition.c [IA64] utilize notify_die() for XPC disengage 2005-11-10 11:32:41 -08:00
xpc.h [IA64] utilize notify_die() for XPC disengage 2005-11-10 11:32:41 -08:00
xpnet.c [PATCH] more SPIN_LOCK_UNLOCKED -> DEFINE_SPINLOCK conversions 2005-09-09 14:03:48 -07:00