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