Re: [PATCH RFC] mm/madvise: introduce MADV_POPULATE to prefault/prealloc memory

David Hildenbrand
2021-02-18T13:06:00Z

>>> If we hit
>>> hardware errors on pages, ignore them - nothing we really can or
>>> should do.
>>> 3. On errors during MADV_POPULATED, some memory might have been
>>> populated. Callers have to clean up if they care.
>>
>> How does caller find out? madvise reports 0 on success so how do you
>> find out how much has been populated?
>
> If there is an error, something might have been populated. In my QEMU
> implementation, I simply discard the range again, good enough. I don't
> think we need to really indicate "error and populated" or "error and not
> populated".

Clarifying again: if madvise(MADV_POPULATED) succeeds, it returns 0. If
there was a problem poopulating memory, it returns -ENOMEM (similar to
MADV_WILLNEED). Callers can detect the error and discard.

--
Thanks,

David / dhildenb