Messages in this thread | | | Subject | Re: [PATCH RFC] mm/madvise: introduce MADV_POPULATE to prefault/prealloc memory | From | David Hildenbrand <> | Date | Thu, 18 Feb 2021 11:54:48 +0100 |
| |
>>> 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
| |