https://github.com/torvalds/linux
Revision cfb61b5e3e09f8b49bc4d685429df75f45127adc authored by David S. Miller on 15 March 2018, 21:18:00 UTC, committed by David S. Miller on 15 March 2018, 21:18:00 UTC
pmdp_invalidate() was changed to update the pmd atomically
(to not lose dirty/access bits) and return the original pmd
value.

However, in doing so, we lost a lot of the essential work that
set_pmd_at() does, namely to update hugepage mapping counts and
queuing up the batched TLB flush entry.

Thus we were not flushing entries out of the TLB when making
such PMD changes.

Fix this by abstracting the accounting work of set_pmd_at() out into a
separate function, and call it from pmdp_establish().

Fixes: a8e654f01cb7 ("sparc64: update pmdp_invalidate() to return old pmd value")
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent e2c15af
History
Tip revision: cfb61b5e3e09f8b49bc4d685429df75f45127adc authored by David S. Miller on 15 March 2018, 21:18:00 UTC
sparc64: Fix regression in pmdp_invalidate().
Tip revision: cfb61b5
File Mode Size
Documentation
LICENSES
arch
block
certs
crypto
drivers
firmware
fs
include
init
ipc
kernel
lib
mm
net
samples
scripts
security
sound
tools
usr
virt
.cocciconfig -rw-r--r-- 59 bytes
.get_maintainer.ignore -rw-r--r-- 31 bytes
.gitattributes -rw-r--r-- 30 bytes
.gitignore -rw-r--r-- 1.5 KB
.mailmap -rw-r--r-- 8.8 KB
COPYING -rw-r--r-- 18.3 KB
CREDITS -rw-r--r-- 96.2 KB
Kbuild -rw-r--r-- 2.2 KB
Kconfig -rw-r--r-- 287 bytes
MAINTAINERS -rw-r--r-- 435.9 KB
Makefile -rw-r--r-- 60.2 KB
README -rw-r--r-- 722 bytes

README

back to top