OpenCloudOS-Kernel/Documentation
Anshuman Khandual 399145f9eb mm/debug: add tests validating architecture page table helpers
This adds tests which will validate architecture page table helpers and
other accessors in their compliance with expected generic MM semantics.
This will help various architectures in validating changes to existing
page table helpers or addition of new ones.

This test covers basic page table entry transformations including but not
limited to old, young, dirty, clean, write, write protect etc at various
level along with populating intermediate entries with next page table page
and validating them.

Test page table pages are allocated from system memory with required size
and alignments.  The mapped pfns at page table levels are derived from a
real pfn representing a valid kernel text symbol.  This test gets called
via late_initcall().

This test gets built and run when CONFIG_DEBUG_VM_PGTABLE is selected.
Any architecture, which is willing to subscribe this test will need to
select ARCH_HAS_DEBUG_VM_PGTABLE.  For now this is limited to arc, arm64,
x86, s390 and powerpc platforms where the test is known to build and run
successfully Going forward, other architectures too can subscribe the test
after fixing any build or runtime problems with their page table helpers.

Folks interested in making sure that a given platform's page table helpers
conform to expected generic MM semantics should enable the above config
which will just trigger this test during boot.  Any non conformity here
will be reported as an warning which would need to be fixed.  This test
will help catch any changes to the agreed upon semantics expected from
generic MM and enable platforms to accommodate it thereafter.

[anshuman.khandual@arm.com: v17]
  Link: http://lkml.kernel.org/r/1587436495-22033-3-git-send-email-anshuman.khandual@arm.com
[anshuman.khandual@arm.com: v18]
  Link: http://lkml.kernel.org/r/1588564865-31160-3-git-send-email-anshuman.khandual@arm.com
Suggested-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Qian Cai <cai@lca.pw>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Tested-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>	[s390]
Tested-by: Christophe Leroy <christophe.leroy@c-s.fr>	[ppc32]
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Cc: Mike Rapoport <rppt@linux.ibm.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Kirill A. Shutemov <kirill@shutemov.name>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Link: http://lkml.kernel.org/r/1583919272-24178-1-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-06-04 19:06:21 -07:00
..
ABI media updates for v5.8-rc1 2020-06-03 20:59:38 -07:00
PCI docs: pci: boot-interrupts.rst: improve html output 2020-04-20 15:45:23 -06:00
RCU rcu: Make rcu_read_unlock_special() safe for rq/pi locks 2020-04-27 11:03:50 -07:00
accounting
admin-guide media updates for v5.8-rc1 2020-06-03 20:59:38 -07:00
arm
arm64 A fair amount of stuff this time around, dominated by yet another massive 2020-06-01 15:45:27 -07:00
block for-5.8-tag 2020-06-02 19:59:25 -07:00
bpf docs/bpf: Add BPF ring buffer design notes 2020-06-01 14:38:22 -07:00
cdrom
core-api padata: document multithreaded jobs 2020-06-03 20:09:45 -07:00
cpu-freq
crypto
dev-tools kcov: collect coverage from interrupts 2020-06-04 19:06:20 -07:00
devicetree media updates for v5.8-rc1 2020-06-03 20:59:38 -07:00
doc-guide media updates for v5.8-rc1 2020-06-03 20:59:38 -07:00
driver-api media updates for v5.8-rc1 2020-06-03 20:59:38 -07:00
fault-injection
fb media updates for v5.8-rc1 2020-06-03 20:59:38 -07:00
features mm/debug: add tests validating architecture page table helpers 2020-06-04 19:06:21 -07:00
filesystems Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-06-03 16:27:18 -07:00
firmware-guide Documentation: firmware-guide: ACPI: fix table alignment in namespace.rst 2020-04-08 14:27:48 +02:00
firmware_class
fpga
gpu Merge tag 'drm-intel-next-2020-05-15' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2020-05-20 13:36:45 +10:00
hid
hwmon Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-06-03 16:27:18 -07:00
i2c docs: i2c: rename i2c.svg to i2c_bus.svg 2020-04-20 15:45:41 -06:00
ia64 docs: add IRQ documentation at the core-api book 2020-05-15 12:00:56 -06:00
ide
iio docs: filesystems: convert configfs.txt to ReST 2020-05-05 09:23:25 -06:00
infiniband
input
isdn
kbuild Documentation: kbuild: fix the section title format 2020-04-23 10:53:19 +09:00
kernel-hacking docs: locking: Drop :c:func: throughout 2020-03-20 17:16:24 -06:00
leds
livepatch
locking A fair amount of stuff this time around, dominated by yet another massive 2020-06-01 15:45:27 -07:00
m68k
maintainer Documentation: fixes to the maintainer-entry-profile template 2020-06-01 09:36:07 -06:00
mhi
mips docs: mips: remove no longer needed au1xxx_ide.rst documentation 2020-03-24 15:53:48 +01:00
misc-devices doc: misc-device: add uacce to toctree(index) 2020-05-05 09:41:59 -06:00
netlabel
networking Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-06-03 16:27:18 -07:00
nios2
nvdimm nvdimm: fixes to maintainter-entry-profile 2020-05-25 10:19:19 -06:00
openrisc
parisc
pcmcia
power Power management updates for 5.8-rc1 2020-06-02 13:17:23 -07:00
powerpc docs: powerpc: cxl.rst: mark two section titles as such 2020-04-20 15:45:25 -06:00
process A fair amount of stuff this time around, dominated by yet another massive 2020-06-01 15:45:27 -07:00
riscv
s390 docs: s390: Fix wrong label Guest2 instead of Guest3 2020-05-05 09:45:28 -06:00
scheduler Documentation: scheduler: fix outdated information on sched groups 2020-04-21 13:38:27 -06:00
scsi SCSI misc on 20200402 2020-04-02 17:03:53 -07:00
security A fair amount of stuff this time around, dominated by yet another massive 2020-06-01 15:45:27 -07:00
sh
sound ALSA: hda/realtek - Remove now-unnecessary XPS 13 headphone noise fixups 2020-03-31 10:54:06 +02:00
sparc
sphinx docs: update recommended Sphinx version to 2.4.4 2020-04-20 15:35:58 -06:00
sphinx-static
spi
target docs: prevent warnings due to autosectionlabel 2020-03-20 17:01:29 -06:00
timers timer: add fsleep for flexible sleeping 2020-05-06 17:03:34 -07:00
trace A fair amount of stuff this time around, dominated by yet another massive 2020-06-01 15:45:27 -07:00
translations media updates for v5.8-rc1 2020-06-03 20:59:38 -07:00
usb A fair amount of stuff this time around, dominated by yet another massive 2020-06-01 15:45:27 -07:00
userspace-api media updates for v5.8-rc1 2020-06-03 20:59:38 -07:00
virt ARM: 2020-06-03 15:13:47 -07:00
vm tools/vm/page_owner_sort.c: filter out unneeded line 2020-06-03 20:09:49 -07:00
w1
watchdog watchdog: update email address in conversion doc 2020-05-05 09:39:53 -06:00
x86 A fair amount of stuff this time around, dominated by yet another massive 2020-06-01 15:45:27 -07:00
xtensa
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
COPYING-logo
Changes
CodingStyle
Kconfig
Makefile media updates for v5.8-rc1 2020-06-03 20:59:38 -07:00
SubmittingPatches
asm-annotations.rst
atomic_bitops.txt
atomic_t.txt
bus-virt-phys-mapping.txt
conf.py docs: LaTeX/PDF: drop list of documents 2020-04-20 15:35:58 -06:00
crc32.txt
docutils.conf
dontdiff
index.rst media: docs: get rid of Documentation/media/ 2020-04-14 10:36:50 +02:00
kprobes.txt
logo.gif
lzo.txt
mailbox.txt
memory-barriers.txt docs: fix broken references to text files 2020-04-20 15:35:59 -06:00
nommu-mmap.txt
remoteproc.txt remoteproc: Add elf64 support in elf loader 2020-03-25 22:29:40 -07:00
rpmsg.txt
speculation.txt
static-keys.txt
tee.txt
this_cpu_ops.txt
xz.txt