Skip test if mmap fails due to ENOMEM
or EINVAL
This commit is contained in:
parent
38cde27f74
commit
024d3d75d0
1 changed files with 9 additions and 2 deletions
|
@ -99,8 +99,14 @@ static void *mmap_fd(int fd, off64_t size)
|
||||||
|
|
||||||
addr = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
|
addr = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
|
||||||
if (addr == MAP_FAILED) {
|
if (addr == MAP_FAILED) {
|
||||||
ksft_print_msg("%s: ubuf_fd mmap fail\n", TEST_PREFIX);
|
if (errno == ENOMEM || errno == EINVAL) {
|
||||||
exit(KSFT_FAIL);
|
ksft_print_msg("%s: ubuf_fd mmap fail, hugepages probably disabled\n", TEST_PREFIX);
|
||||||
|
exit(KSFT_SKIP);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ksft_print_msg("%s: ubuf_fd mmap fail\n", TEST_PREFIX);
|
||||||
|
exit(KSFT_FAIL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return addr;
|
return addr;
|
||||||
|
@ -234,6 +240,7 @@ int main(int argc, char *argv[])
|
||||||
close(memfd);
|
close(memfd);
|
||||||
|
|
||||||
/* should work (migration of 2MB size huge pages)*/
|
/* should work (migration of 2MB size huge pages)*/
|
||||||
|
// TODO: Are huge pages enabled?
|
||||||
page_size = getpagesize() * 512; /* 2 MB */
|
page_size = getpagesize() * 512; /* 2 MB */
|
||||||
size = MEMFD_SIZE * page_size;
|
size = MEMFD_SIZE * page_size;
|
||||||
memfd = create_memfd_with_seals(size, true);
|
memfd = create_memfd_with_seals(size, true);
|
||||||
|
|
Loading…
Reference in a new issue