Ralph Campbell
b0fc0f3fca
mm/migrate: add migrate-shared test for migrate_vma_*()
...
Add a migrate_vma_*() self test for mmap(MAP_SHARED) to verify that
!vma_anonymous() ranges won't be migrated.
Signed-off-by: Ralph Campbell <rcampbell@nvidia.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Cc: Jerome Glisse <jglisse@redhat.com >
Cc: John Hubbard <jhubbard@nvidia.com >
Cc: Christoph Hellwig <hch@lst.de >
Cc: Jason Gunthorpe <jgg@mellanox.com >
Cc: "Bharata B Rao" <bharata@linux.ibm.com >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/20200710194840.7602-3-rcampbell@nvidia.com
Link: http://lkml.kernel.org/r/20200709165711.26584-3-rcampbell@nvidia.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-08-12 10:57:56 -07:00
Linus Torvalds
fffe3ae0ee
Merge tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
...
Pull hmm updates from Jason Gunthorpe:
"Ralph has been working on nouveau's use of hmm_range_fault() and
migrate_vma() which resulted in this small series. It adds reporting
of the page table order from hmm_range_fault() and some optimization
of migrate_vma():
- Report the size of the page table mapping out of hmm_range_fault().
This makes it easier to establish a large/huge/etc mapping in the
device's page table.
- Allow devices to ignore the invalidations during migration in cases
where the migration is not going to change pages.
For instance migrating pages to a device does not require the
device to invalidate pages already in the device.
- Update nouveau and hmm_tests to use the above"
* tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
mm/hmm/test: use the new migration invalidation
nouveau/svm: use the new migration invalidation
mm/notifier: add migration invalidation type
mm/migrate: add a flags parameter to migrate_vma
nouveau: fix storing invalid ptes
nouveau/hmm: support mapping large sysmem pages
nouveau: fix mapping 2MB sysmem pages
nouveau/hmm: fault one page at a time
mm/hmm: add tests for hmm_pfn_to_map_order()
mm/hmm: provide the page mapping order in hmm_range_fault()
2020-08-05 13:28:50 -07:00
Ralph Campbell
7d17e83abe
mm/hmm/test: use the new migration invalidation
...
Use the new MMU_NOTIFY_MIGRATE event to skip MMU invalidations of device
private memory and handle the invalidation in the driver as part of
migrating device private memory.
Link: https://lore.kernel.org/r/20200723223004.9586-6-rcampbell@nvidia.com
Signed-off-by: Ralph Campbell <rcampbell@nvidia.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2020-07-28 16:20:33 -03:00
Ralph Campbell
e478425bec
mm/hmm: add tests for hmm_pfn_to_map_order()
...
Add a sanity test for hmm_range_fault() returning the page mapping size
order.
Link: https://lore.kernel.org/r/20200701225352.9649-6-rcampbell@nvidia.com
Signed-off-by: Ralph Campbell <rcampbell@nvidia.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2020-07-10 16:24:28 -03:00
Mauro Carvalho Chehab
466fb03011
selftests/vm/keys: fix a broken reference at protection_keys.c
...
Changeset 1eecbcdca2 ("docs: move protection-keys.rst to the core-api book")
from Jun 7, 2019 converted protection-keys.txt file to ReST.
A recent change at protection_keys.c partially reverted such
changeset, causing it to point to a non-existing file:
- * Tests x86 Memory Protection Keys (see Documentation/core-api/protection-keys.rst)
+ * Tests Memory Protection Keys (see Documentation/vm/protection-keys.txt)
It sounds to me that the changeset that introduced such change
4645e3563673 ("selftests/vm/pkeys: rename all references to pkru to a generic name")
could also have other side effects, as it sounds that it was not
generated against uptream code, but, instead, against a version
older than Jun 7, 2019.
Fixes: 4645e3563673 ("selftests/vm/pkeys: rename all references to pkru to a generic name")
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/cf65aa052669f55b9dc976a5c8026aef5840741d.1592895969.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net >
2020-06-26 10:01:12 -06:00
Dan Carpenter
9f267a17bf
khugepaged: selftests: fix timeout condition in wait_for_scan()
...
The loop exits with "timeout" set to -1 and not to 0 so the test needs to
be fixed.
Fixes: e7b592f6caca ("khugepaged: add self test")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Cc: Shuah Khan <shuah@kernel.org >
Cc: Stephen Rothwell <sfr@canb.auug.org.au >
Cc: Zi Yan <ziy@nvidia.com >
Cc: William Kucharski <william.kucharski@oracle.com >
Cc: Yang Shi <yang.shi@linux.alibaba.com >
Cc: John Hubbard <jhubbard@nvidia.com >
Link: http://lkml.kernel.org/r/20200605110736.GH978434@mwanda
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-10 19:14:17 -07:00
Jagadeesh Pagadala
2792d488a2
tools/testing/selftests/vm: remove duplicate headers
...
Code cleanup: Remove duplicate headers which are included twice.
Signed-off-by: Jagadeesh Pagadala <jagdsh.linux@gmail.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Cc: Shuah Khan <shuah@kernel.org >
Cc: Brian Geffon <bgeffon@google.com >
Link: http://lkml.kernel.org/r/1587278984-18847-1-git-send-email-jagdsh.linux@gmail.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:27 -07:00
Sandipan Das
f21fda8f64
selftests: vm: pkeys: fix multilib builds for x86
...
This ensures that both 32-bit and 64-bit binaries are generated when this
is built on a x86_64 system. Most of the changes have been borrowed from
tools/testing/selftests/x86/Makefile.
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Tested-by: Dave Hansen <dave.hansen@intel.com >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Ram Pai <linuxram@us.ibm.com >
Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/0326a442214d7a1b970d38296e63df3b217f5912.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:27 -07:00
Sandipan Das
473c3cc86c
selftests: vm: pkeys: use the correct page size on powerpc
...
Both 4K and 64K pages are supported on powerpc. Parts of the selftest
code perform alignment computations based on the PAGE_SIZE macro which is
currently hardcoded to 64K for powerpc. This causes some test failures on
kernels configured with 4K page size.
In some cases, we need to enforce function alignment on page size. Since
this can only be done at build time, 64K is used as the alignment factor
as that also ensures 4K alignment.
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Ram Pai <linuxram@us.ibm.com >
Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/5dcdfbf3353acdc90f315172e800b49f5ca21299.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:27 -07:00
Ram Pai
e9506394a1
selftests/vm/pkeys: override access right definitions on powerpc
...
Some platforms hardcode the x86 values for PKEY_DISABLE_ACCESS
and PKEY_DISABLE_WRITE such as those in:
/usr/include/bits/mman-shared.h.
This overrides the definitions with correct values for powerpc.
[sandipan@linux.ibm.com: fix powerpc access right definitions]
Link: http://lkml.kernel.org/r/1ba86fd8a94f38131cfe2d9f277001dd1ad1d34e.1588959697.git.sandipan@linux.ibm.com
Signed-off-by: Ram Pai <linuxram@us.ibm.com >
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: Dave Hansen <dave.hansen@intel.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/f6eb38cb3a1e12eb2cdc9da6300bc5a5dfba0db9.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:27 -07:00
Ram Pai
fa17437cb8
selftests/vm/pkeys: test correct behaviour of pkey-0
...
Ensure that pkey-0 is allocated on start and that it can be attached
dynamically in various modes, without failures.
Signed-off-by: Ram Pai <linuxram@us.ibm.com >
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: Dave Hansen <dave.hansen@intel.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/9b7c54a9b4261894fe0c7e884c70b87214ff8fbb.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:27 -07:00
Ram Pai
6e2c2d0fb7
selftests/vm/pkeys: introduce a sub-page allocator
...
This introduces a new allocator that allocates 4K hardware pages to back
64K linux pages. This allocator is available only on powerpc.
Signed-off-by: Ram Pai <linuxram@us.ibm.com >
Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: Dave Hansen <dave.hansen@intel.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/c4a82fa962ec71015b994fab1aaf83bdfd091553.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:27 -07:00
Ram Pai
4e06e718af
selftests/vm/pkeys: detect write violation on a mapped access-denied-key page
...
Detect write-violation on a page to which access-disabled key is
associated much after the page is mapped.
Signed-off-by: Ram Pai <linuxram@us.ibm.com >
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: Dave Hansen <dave.hansen@intel.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/6a7dd4069ee18a2a51b207a55aa197f3f3c59753.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:27 -07:00
Ram Pai
39351c1326
selftests/vm/pkeys: associate key on a mapped page and detect write violation
...
Detect write-violation on a page to which write-disabled key is associated
much after the page is mapped.
Signed-off-by: Ram Pai <linuxram@us.ibm.com >
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: Dave Hansen <dave.hansen@intel.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/6bfe3b3832f8bcfb07d7f2cf116b45197f4587dd.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:27 -07:00
Ram Pai
aef759db63
selftests/vm/pkeys: associate key on a mapped page and detect access violation
...
Detect access-violation on a page to which access-disabled key is
associated much after the page is mapped.
Signed-off-by: Ram Pai <linuxram@us.ibm.com >
Signed-off: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: Dave Hansen <dave.hansen@intel.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/4a19cf9252c03dd883887e9002881599e6900d06.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:27 -07:00
Ram Pai
94c8a223de
selftests/vm/pkeys: improve checks to determine pkey support
...
For the pkeys subsystem to work, both the CPU and the kernel need to have
support. So, additionally check if the kernel supports pkeys apart from
the CPU feature checks.
Signed-off-by: Ram Pai <linuxram@us.ibm.com >
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: Dave Hansen <dave.hansen@intel.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/8fb76c63ebdadcf068ecd2d23731032e195cd364.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:27 -07:00
Ram Pai
b0acc5d6bf
selftests/vm/pkeys: fix assertion in test_pkey_alloc_exhaust()
...
Some pkeys which are valid on the hardware are reserved and not available
for application use. These keys cannot be allocated.
test_pkey_alloc_exhaust() tries to account for these and has an assertion
which validates if all available pkeys have been exahaustively allocated.
However, the expression that is currently used is only valid for x86. On
powerpc, a pkey is additionally reserved as compared to x86. Hence, the
assertion is made to use an arch-specific helper to get the correct count
of reserved pkeys.
Signed-off-by: Ram Pai <linuxram@us.ibm.com >
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: Dave Hansen <dave.hansen@intel.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/38b08d0318820ae46af3aa6048384fd8056c3df7.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:27 -07:00
Desnes A. Nunes do Rosario
c63e5e7f99
selftests/vm/pkeys: fix number of reserved powerpc pkeys
...
The number of reserved pkeys in a PowerNV environment is different from
that on PowerVM or KVM.
Tested on PowerVM and PowerNV environments.
Signed-off-by: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Signed-off-by: Ram Pai <linuxram@us.ibm.com >
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/0341a0ca961166814b44c9e724774672c18d54ca.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:27 -07:00
Ram Pai
589944b53b
selftests/vm/pkeys: introduce powerpc support
...
This makes use of the abstractions added earlier and introduces support
for powerpc.
For powerpc, after receiving the SIGSEGV, the signal handler must
explicitly restore access permissions for the faulting pkey to allow the
test to continue. As this makes use of pkey_access_allow(), all of its
dependencies and other similar functions have been moved ahead of the
signal handler.
[sandipan@linux.ibm.com: fix powerpc access right updates]
Link: http://lkml.kernel.org/r/5f65cf37be993760de8112a88da194e3ccbb2bf8.1588959697.git.sandipan@linux.ibm.com
Signed-off-by: Ram Pai <linuxram@us.ibm.com >
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: Dave Hansen <dave.hansen@intel.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/b121e9fd33789ed9195276e32fe4e80bb6b88a31.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:27 -07:00
Ram Pai
604c496b22
selftests/vm/pkeys: introduce generic pkey abstractions
...
This introduces some generic abstractions and provides the corresponding
architecture-specfic implementations for these abstractions.
Signed-off-by: Ram Pai <linuxram@us.ibm.com >
Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: Dave Hansen <dave.hansen@intel.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/1c977915e69fb7767fb0dbd55ac7656554b15b93.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:27 -07:00
Sandipan Das
57bcb57da2
selftests: vm: pkeys: use the correct huge page size
...
The huge page size can vary across architectures. This will ensure that
the correct huge page size is used when accessing the hugetlb controls
under sysfs. Instead of using a hardcoded page size (i.e. 2MB), this now
uses the HPAGE_SIZE macro which is arch-specific.
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Ram Pai <linuxram@us.ibm.com >
Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/66882a5d6e45c73c3a52bc4aef9754e48afa4f88.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:27 -07:00
Ram Pai
6e373263ce
selftests/vm/pkeys: fix alloc_random_pkey() to make it really random
...
alloc_random_pkey() was allocating the same pkey every time. Not all
pkeys were geting tested. This fixes it.
Signed-off-by: Ram Pai <linuxram@us.ibm.com >
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: Dave Hansen <dave.hansen@intel.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/0162f55816d4e783a0d6e49e554d0ab9a3c9a23b.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:27 -07:00
Ram Pai
ea5f95c3d6
selftests/vm/pkeys: fix assertion in pkey_disable_set/clear()
...
In some cases, a pkey's bits need not necessarily change in a way that the
value of the pkey register increases when performing a pkey_disable_set()
or decreases when performing a pkey_disable_clear().
For example, on powerpc, if a pkey's current state is PKEY_DISABLE_ACCESS
and we perform a pkey_write_disable() on it, the bits still remain the
same. We will observe something similar when the pkey's current state is
0 and a pkey_access_enable() is performed on it.
Either case would cause some assertions to fail. This fixes the problem.
Signed-off-by: Ram Pai <linuxram@us.ibm.com >
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: Dave Hansen <dave.hansen@intel.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/8240665131e43fc93eed4eea8194676c1ea39a7f.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:27 -07:00
Ram Pai
11551801a7
selftests/vm/pkeys: fix pkey_disable_clear()
...
Currently, pkey_disable_clear() sets the specified bits instead clearing
them. This has been dead code up to now because its only callers i.e.
pkey_access/write_allow() are also unused.
Signed-off-by: Ram Pai <linuxram@us.ibm.com >
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: Dave Hansen <dave.hansen@intel.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/1f70bca60330a85dca42c3cd98212bb1cdf5a076.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:26 -07:00
Sandipan Das
0c416bcaef
selftests: vm: pkeys: add helpers for pkey bits
...
This introduces some functions that help with setting or clearing bits of
a particular pkey. This also adds an abstraction for getting a pkey's bit
position in the pkey register as this may vary across architectures.
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Acked-by: Dave Hansen <dave.hansen@intel.com >
Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com >
Cc: Florian Weimer <fweimer@redhat.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Ram Pai <linuxram@us.ibm.com >
Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com >
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Hocko <mhocko@kernel.org >
Cc: Michal Suchanek <msuchanek@suse.de >
Cc: Shuah Khan <shuah@kernel.org >
Link: http://lkml.kernel.org/r/2ad9705f4f68ca7e72155cc583415e5a979546f1.1585646528.git.sandipan@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-04 19:06:26 -07:00