Thread (47 messages) flat view 47 messages, 9 authors, 2014-11-06

Re: [PATCH 08/17] mm: madvise MADV_USERFAULT

From: Dr. David Alan Gilbert <hidden>
Date: 2014-10-07 10:47:21
Also in: kvm, linux-mm, lkml, qemu-devel

* Kirill A. Shutemov (kirill@shutemov.name) wrote:
On Fri, Oct 03, 2014 at 07:07:58PM +0200, Andrea Arcangeli wrote:
quoted
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.
Aren't DONTNEED and DONTDUMP  similar cases of madvise operations that are
expected to do what they say ?
I would suggest to consider to use some other interface for the
functionality: a new syscall or, perhaps, mprotect().
Dave
-- 
 Kirill A. Shutemov
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help