[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 19/21] userfaultfd: remap_pages: UFFDIO_REMAP pr
From: |
Linus Torvalds |
Subject: |
Re: [Qemu-devel] [PATCH 19/21] userfaultfd: remap_pages: UFFDIO_REMAP preparation |
Date: |
Thu, 5 Mar 2015 09:39:48 -0800 |
On Thu, Mar 5, 2015 at 9:18 AM, Andrea Arcangeli <address@hidden> wrote:
> remap_pages is the lowlevel mm helper needed to implement
> UFFDIO_REMAP.
This function is nasty nasty nasty.
Is this really worth it? On real loads? That people are expected to use?
Considering how we just got rid of one special magic VM remapping
thing that nobody actually used, I'd really hate to add a new one.
The fact is, almost nobody ever uses anything that isn't standard
POSIX. There are no apps, and even for specialized things like
virtualization hypervisors this kind of thing is often simply not
worth it.
Quite frankly, *if* we ever merge userfaultfd, I would *strongly*
argue for not merging the remap parts. I just don't see the point. It
doesn't seem to add anything that is semantically very important -
it's *potentially* a faster copy, but even that is
(a) questionable in the first place
and
(b) unclear why anybody would ever care about performance of
infrastructure that nobody actually uses today, and future use isn't
even clear or shown to be particualrly performance-sensitive.
So basically I'd like to see better documentation, a few real use
cases (and by real I very much do *not* mean "you can use it for
this", but actual patches to actual projects that matter and that are
expected to care and merge them), and a simplified series that doesn't
do the remap thing.
Because *every* time we add a new clever interface, we end up with
approximately zero users and just pain down the line. Examples:
splice, mremap, yadda yadda.
Linus
- [Qemu-devel] [PATCH 01/21] userfaultfd: waitqueue: add nr wake parameter to __wake_up_locked_key, (continued)
- [Qemu-devel] [PATCH 01/21] userfaultfd: waitqueue: add nr wake parameter to __wake_up_locked_key, Andrea Arcangeli, 2015/03/05
- [Qemu-devel] [PATCH 13/21] userfaultfd: UFFDIO_COPY|UFFDIO_ZEROPAGE uAPI, Andrea Arcangeli, 2015/03/05
- [Qemu-devel] [PATCH 15/21] userfaultfd: UFFDIO_COPY and UFFDIO_ZEROPAGE, Andrea Arcangeli, 2015/03/05
- [Qemu-devel] [PATCH 20/21] userfaultfd: UFFDIO_REMAP, Andrea Arcangeli, 2015/03/05
- [Qemu-devel] [PATCH 07/21] userfaultfd: call handle_userfault() for userfaultfd_missing() faults, Andrea Arcangeli, 2015/03/05
- [Qemu-devel] [PATCH 10/21] userfaultfd: add new syscall to provide memory externalization, Andrea Arcangeli, 2015/03/05
- [Qemu-devel] [PATCH 21/21] userfaultfd: add userfaultfd_wp mm helpers, Andrea Arcangeli, 2015/03/05
- [Qemu-devel] [PATCH 19/21] userfaultfd: remap_pages: UFFDIO_REMAP preparation, Andrea Arcangeli, 2015/03/05
- Re: [Qemu-devel] [PATCH 19/21] userfaultfd: remap_pages: UFFDIO_REMAP preparation,
Linus Torvalds <=
- Re: [Qemu-devel] [PATCH 19/21] userfaultfd: remap_pages: UFFDIO_REMAP preparation, Pavel Emelyanov, 2015/03/05
- [Qemu-devel] [PATCH 04/21] userfaultfd: linux/userfaultfd_k.h, Andrea Arcangeli, 2015/03/05
- [Qemu-devel] [PATCH 14/21] userfaultfd: mcopy_atomic|mfill_zeropage: UFFDIO_COPY|UFFDIO_ZEROPAGE preparation, Andrea Arcangeli, 2015/03/05
- [Qemu-devel] [PATCH 03/21] userfaultfd: uAPI, Andrea Arcangeli, 2015/03/05
- [Qemu-devel] [PATCH 05/21] userfaultfd: add vm_userfaultfd_ctx to the vm_area_struct, Andrea Arcangeli, 2015/03/05
- Re: [Qemu-devel] [PATCH 00/21] RFC: userfaultfd v3, Pavel Emelyanov, 2015/03/05