On Wed, Oct 04, 2023 at 08:22:08PM -0400, Rik van Riel wrote: > On Wed, 2023-10-04 at 10:11 -0700, Breno Leitao wrote: > > > > +char *huge_ptr; > > + > > +/* Touch the memory while it is being madvised() */ > > +void *touch(void *unused) > > +{ > > + char *ptr = (char *)huge_ptr; > > + > > + if (!ptr) { > > + fprintf(stderr, "Failed to allocate memory\n"); > > + perror(""); > > + } > > I'm not sure this error message makes a lot of sense > away from where the huge page gets allocated. Right. I think I don't need this whole "if" clause at all. Let me remove it. > > > > + while (max--) { > > + huge_ptr = mmap(NULL, MMAP_SIZE, PROT_READ | > > PROT_WRITE, > > + MAP_PRIVATE | MAP_ANONYMOUS | > > MAP_HUGETLB, -1, 0); > > + > > + if ((unsigned long)huge_ptr == -1) { > > + perror("Failed to allocate\n"); > > + continue; > > + } > > Should the test case just exit with an error here, when > the allocation fails? Yes, probably skip the test if we are not able to allocate the memory. I just found I can use something as `ksft_exit_skip()` for this purpose. Thanks for the great feedbacks!