Re: [PATCH 2/2] selftests/mm: Add a new test for madv and hugetlb
From: Breno Leitao
Date: Thu Oct 05 2023 - 10:25:30 EST
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!