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);
|
||||
if (addr == MAP_FAILED) {
|
||||
ksft_print_msg("%s: ubuf_fd mmap fail\n", TEST_PREFIX);
|
||||
exit(KSFT_FAIL);
|
||||
if (errno == ENOMEM || errno == EINVAL) {
|
||||
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;
|
||||
|
@ -234,6 +240,7 @@ int main(int argc, char *argv[])
|
|||
close(memfd);
|
||||
|
||||
/* should work (migration of 2MB size huge pages)*/
|
||||
// TODO: Are huge pages enabled?
|
||||
page_size = getpagesize() * 512; /* 2 MB */
|
||||
size = MEMFD_SIZE * page_size;
|
||||
memfd = create_memfd_with_seals(size, true);
|
||||
|
|
Loading…
Reference in a new issue