Messages in this thread | | | Subject | Re: [RFC PATCH] userfaultfd: Add feature to request for a signal delivery | From | "prakash.sangappa" <> | Date | Wed, 5 Jul 2017 15:24:14 -0700 |
| |
On 07/04/2017 09:40 AM, Andrea Arcangeli wrote: > On Fri, Jun 30, 2017 at 05:55:08PM -0700, prakash sangappa wrote: >> Interesting that UFFDIO_COPY is faster then fallocate(). In the DB use case >> the page does not need to be allocated at the time a process trips on >> the hugetlbfs >> file hole and receives SIGBUS. fallocate() is called on the hugetlbfs file, >> when more memory needs to be allocated by a separate process. > The major difference is that with UFFDIO_COPY the hugepage will be > immediately mapped into the virtual address without requiring any > further minor fault. So it's ideal if you could arrange to call > UFFDIO_COPY from the same process that is going to touch and use the > hugetlbfs data immediately after. You would eliminate a minor fault > that way.
Ok, we will see how it could be used in the DB use case.
> > UFFDIO_COPY at least for anon was measured to perform better than a > regular page fault too. >> Regarding hugetlbfs mount option, one consideration is to allow mounts of >> hugetlbfs inside user namespaces's mount namespace. Which would allow >> non privileged processes to mount hugetlbfs for use inside a user >> namespace. >> This may be needed even for the 'min_size' mount option using which an >> application could reserve huge pages and mount a filesystem for its use, >> with out the need to have privileges given the system has enough hugepages >> configured. It seems if non privileged processes are allowed to mount >> hugetlbfs >> filesystem, then min_size should be subject to some resource limits. >> >> Mounting inside user namespace will be a different patch proposal later. > There's no particular reason to make UFFDIO_FEATURE_SIGBUS a > privileged op unless we want to eliminate the branch with the static > key, so it's certainly simpler than dealing with hugetlbfs min_size > reserves.
Ok, so, for now will not make UFFDIO_FEATURE_SIGBUS a privileged op and not use the static key to eliminate the branch.
> I'm positive about the UFFDIO_FEATURE_SIGBUS tradeoffs, but others > feel free to comment. > > If you could make second patch to extend the selftest to exercise and > validates UFFDIO_FEATURE_SIGBUS in anon/shmem/hugetlbfs it'd be great.
Sure, I will update the tests and send a patch.
Thanks, -Prakash.
> > Thanks, > Andrea
| |