Messages in this thread | | | Date | Tue, 7 Oct 2014 13:36:45 +0300 | From | "Kirill A. Shutemov" <> | Subject | Re: [PATCH 08/17] mm: madvise MADV_USERFAULT |
| |
On Fri, Oct 03, 2014 at 07:07:58PM +0200, Andrea Arcangeli wrote: > MADV_USERFAULT is a new madvise flag that will set VM_USERFAULT in the > vma flags. Whenever VM_USERFAULT is set in an anonymous vma, if > userland touches a still unmapped virtual address, a sigbus signal is > sent instead of allocating a new page. The sigbus signal handler will > then resolve the page fault in userland by calling the > remap_anon_pages syscall.
Hm. I wounder if this functionality really fits madvise(2) interface: as far as I understand it, it provides a way to give a *hint* to kernel which may or may not trigger an action from kernel side. I don't think an application will behaive reasonably if kernel ignore the *advise* and will not send SIGBUS, but allocate memory.
I would suggest to consider to use some other interface for the functionality: a new syscall or, perhaps, mprotect().
-- Kirill A. Shutemov
| |