From: Mike Rapoport <rppt@linux.ibm.com>
To: Nadav Amit <nadav.amit@gmail.com>
Cc: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
Nadav Amit <namit@vmware.com>,
Mike Kravetz <mike.kravetz@oracle.com>,
Hugh Dickins <hughd@google.com>,
Axel Rasmussen <axelrasmussen@google.com>,
Peter Xu <peterx@redhat.com>,
David Hildenbrand <david@redhat.com>
Subject: Re: [PATCH v2 1/5] userfaultfd: introduce uffd_flags
Date: Sat, 23 Jul 2022 12:12:45 +0300 [thread overview]
Message-ID: <Ytu7jYc0jkWtHQV9@linux.ibm.com> (raw)
In-Reply-To: <20220718114748.2623-2-namit@vmware.com>
On Mon, Jul 18, 2022 at 04:47:44AM -0700, Nadav Amit wrote:
> From: Nadav Amit <namit@vmware.com>
>
> As the next patches are going to introduce more information that needs
> to be propagated regarding handled user requests, introduce uffd_flags
> that would be used to propagate this information.
>
> Remove the unused UFFD_FLAGS_SET to avoid confusion in the constant
> names.
>
> Introducing uffd flags also allows to avoid mm/userfaultfd from being
> using uapi (e.g., UFFDIO_COPY_MODE_WP).
>
> Cc: Mike Kravetz <mike.kravetz@oracle.com>
> Cc: Hugh Dickins <hughd@google.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Axel Rasmussen <axelrasmussen@google.com>
> Cc: Peter Xu <peterx@redhat.com>
> Cc: Mike Rapoport <rppt@linux.ibm.com>
> Acked-by: David Hildenbrand <david@redhat.com>
> Signed-off-by: Nadav Amit <namit@vmware.com>
> ---
> fs/userfaultfd.c | 22 +++++++++++---
> include/linux/hugetlb.h | 4 +--
> include/linux/shmem_fs.h | 8 +++--
> include/linux/userfaultfd_k.h | 24 +++++++++------
> mm/hugetlb.c | 3 +-
> mm/shmem.c | 6 ++--
> mm/userfaultfd.c | 57 ++++++++++++++++++-----------------
> 7 files changed, 73 insertions(+), 51 deletions(-)
>
> diff --git a/fs/userfaultfd.c b/fs/userfaultfd.c
> index e943370107d0..2ae24327beec 100644
> --- a/fs/userfaultfd.c
> +++ b/fs/userfaultfd.c
> @@ -1682,6 +1682,8 @@ static int userfaultfd_copy(struct userfaultfd_ctx *ctx,
> struct uffdio_copy uffdio_copy;
> struct uffdio_copy __user *user_uffdio_copy;
> struct userfaultfd_wake_range range;
> + bool mode_wp;
> + uffd_flags_t uffd_flags;
>
> user_uffdio_copy = (struct uffdio_copy __user *) arg;
>
> @@ -1708,10 +1710,15 @@ static int userfaultfd_copy(struct userfaultfd_ctx *ctx,
> goto out;
> if (uffdio_copy.mode & ~(UFFDIO_COPY_MODE_DONTWAKE|UFFDIO_COPY_MODE_WP))
> goto out;
> +
> + mode_wp = uffdio_copy.mode & UFFDIO_COPY_MODE_WP;
This seems to be the only place where mode_wp is used in this function.
I'd just drop it, and set uffd_flags directly from uffdio_copy.mode. E.g.
something like
uffd_flags_t uffd_flags = UFFD_FLAGS_NONE;
...
if (uffdio_copy.mode & UFFDIO_COPY_MODE_WP)
uffd_flags = UFFD_FLAGS_WP;
Otherwise
Acked-by: Mike Rapoport <rppt@linux.ibm.com>
> +
> + uffd_flags = mode_wp ? UFFD_FLAGS_WP : UFFD_FLAGS_NONE;
> +
> if (mmget_not_zero(ctx->mm)) {
> ret = mcopy_atomic(ctx->mm, uffdio_copy.dst, uffdio_copy.src,
> uffdio_copy.len, &ctx->mmap_changing,
> - uffdio_copy.mode);
> + uffd_flags);
> mmput(ctx->mm);
> } else {
> return -ESRCH;
--
Sincerely yours,
Mike.
next prev parent reply other threads:[~2022-07-23 9:12 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-18 11:47 [PATCH v2 0/5] userfaultfd: support access/write hints Nadav Amit
2022-07-18 11:47 ` [PATCH v2 2/5] userfaultfd: introduce access-likely mode for common operations Nadav Amit
2022-07-18 20:05 ` Peter Xu
2022-07-18 20:59 ` Nadav Amit
2022-07-18 21:21 ` Peter Xu
2022-07-23 9:16 ` Mike Rapoport
2022-07-25 17:18 ` Nadav Amit
2022-07-26 16:02 ` Mike Rapoport
2022-07-18 11:47 ` [PATCH v2 3/5] userfaultfd: introduce write-likely mode for uffd operations Nadav Amit
2022-07-18 20:12 ` Peter Xu
2022-07-18 20:25 ` Nadav Amit
2022-07-18 21:27 ` Peter Xu
2022-07-18 11:47 ` [PATCH v2 4/5] userfaultfd: zero access/write hints Nadav Amit
2022-07-22 7:47 ` David Hildenbrand
2022-07-18 11:47 ` [PATCH v2 5/5] selftest/userfaultfd: test read/write hints Nadav Amit
[not found] ` <20220718114748.2623-2-namit@vmware.com>
2022-07-18 20:05 ` [PATCH v2 1/5] userfaultfd: introduce uffd_flags Peter Xu
2022-07-22 7:54 ` David Hildenbrand
2022-07-22 18:47 ` Nadav Amit
2022-07-23 9:12 ` Mike Rapoport [this message]
2022-07-25 17:23 ` Nadav Amit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Ytu7jYc0jkWtHQV9@linux.ibm.com \
--to=rppt@linux.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=axelrasmussen@google.com \
--cc=david@redhat.com \
--cc=hughd@google.com \
--cc=linux-mm@kvack.org \
--cc=mike.kravetz@oracle.com \
--cc=nadav.amit@gmail.com \
--cc=namit@vmware.com \
--cc=peterx@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox