All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Xu <peterx@redhat.com>
To: Axel Rasmussen <axelrasmussen@google.com>
Cc: "Alexander Viro" <viro@zeniv.linux.org.uk>,
	"Alexey Dobriyan" <adobriyan@gmail.com>,
	"Andrea Arcangeli" <aarcange@redhat.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Anshuman Khandual" <anshuman.khandual@arm.com>,
	"Catalin Marinas" <catalin.marinas@arm.com>,
	"Chinwen Chang" <chinwen.chang@mediatek.com>,
	"Huang Ying" <ying.huang@intel.com>,
	"Ingo Molnar" <mingo@redhat.com>, "Jann Horn" <jannh@google.com>,
	"Jerome Glisse" <jglisse@redhat.com>,
	"Lokesh Gidra" <lokeshgidra@google.com>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	"Michael Ellerman" <mpe@ellerman.id.au>,
	"Michal Koutný" <mkoutny@suse.com>,
	"Michel Lespinasse" <walken@google.com>,
	"Mike Kravetz" <mike.kravetz@oracle.com>,
	"Mike Rapoport" <rppt@linux.vnet.ibm.com>,
	"Nicholas Piggin" <npiggin@gmail.com>, "Shaohua Li" <shli@fb.com>,
	"Shawn Anastasio" <shawn@anastas.io>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Steven Price" <steven.price@arm.com>,
	"Vlastimil Babka" <vbabka@suse.cz>,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org, "Adam Ruprecht" <ruprecht@google.com>,
	"Cannon Matthews" <cannonmatthews@google.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	"David Rientjes" <rientjes@google.com>,
	"Oliver Upton" <oupton@google.com>
Subject: Re: [PATCH 0/9] userfaultfd: add minor fault handling
Date: Thu, 21 Jan 2021 14:12:41 -0500	[thread overview]
Message-ID: <20210121191241.GG260413@xz-x1> (raw)
In-Reply-To: <20210115190451.3135416-1-axelrasmussen@google.com>

On Fri, Jan 15, 2021 at 11:04:42AM -0800, Axel Rasmussen wrote:
> UFFDIO_COPY and UFFDIO_ZEROPAGE cannot be used to resolve minor faults. Without
> modifications, the existing codepath assumes a new page needs to be allocated.
> This is okay, since userspace must have a second non-UFFD-registered mapping
> anyway, thus there isn't much reason to want to use these in any case (just
> memcpy or memset or similar).
> 
> - If UFFDIO_COPY is used on a minor fault, -EEXIST is returned.

When minor fault the dst VM will report to src with the address.  The src could
checkup whether dst contains the latest data on that (pmd) page and either:

  - it's latest, then tells dst, dst does UFFDIO_CONTINUE

  - it's not latest, then tells dst (probably along with the page data?  if
    hugetlbfs doesn't support double map, we'd need to batch all the dirty
    small pages in one shot), dst does whatever to replace the page

Then, I'm thinking what would be the way to replace an old page.. is that one
FALLOC_FL_PUNCH_HOLE plus one UFFDIO_COPY at last?

Thanks,

-- 
Peter Xu


  parent reply	other threads:[~2021-01-21 19:15 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-15 19:04 [PATCH 0/9] userfaultfd: add minor fault handling Axel Rasmussen
2021-01-15 19:04 ` Axel Rasmussen
2021-01-15 19:04 ` [PATCH 1/9] hugetlb: Pass vma into huge_pte_alloc() Axel Rasmussen
2021-01-15 19:04   ` Axel Rasmussen
2021-01-16  0:42   ` kernel test robot
2021-01-16  0:42     ` kernel test robot
2021-01-15 19:04 ` [PATCH 2/9] hugetlb/userfaultfd: Forbid huge pmd sharing when uffd enabled Axel Rasmussen
2021-01-15 19:04   ` Axel Rasmussen
2021-01-15 23:36   ` kernel test robot
2021-01-15 23:36     ` kernel test robot
2021-01-21 18:52   ` Peter Xu
2021-01-15 19:04 ` [PATCH 3/9] mm/hugetlb: Move flush_hugetlb_tlb_range() into hugetlb.h Axel Rasmussen
2021-01-15 19:04   ` Axel Rasmussen
2021-01-15 19:04 ` [PATCH 4/9] hugetlb/userfaultfd: Unshare all pmds for hugetlbfs when register wp Axel Rasmussen
2021-01-15 19:04   ` Axel Rasmussen
2021-01-15 22:37   ` kernel test robot
2021-01-15 22:37     ` kernel test robot
2021-01-15 19:04 ` [PATCH 5/9] userfaultfd: add minor fault registration mode Axel Rasmussen
2021-01-15 19:04   ` Axel Rasmussen
2021-01-21 18:49   ` Peter Xu
2021-01-15 19:04 ` [PATCH 6/9] userfaultfd: disable huge PMD sharing for MINOR registered VMAs Axel Rasmussen
2021-01-15 19:04   ` Axel Rasmussen
2021-01-21 18:59   ` Peter Xu
2021-01-15 19:04 ` [PATCH 7/9] userfaultfd: add UFFDIO_CONTINUE ioctl Axel Rasmussen
2021-01-15 19:04   ` Axel Rasmussen
2021-01-21 22:46   ` Peter Xu
2021-01-21 23:46     ` Axel Rasmussen
2021-01-15 19:04 ` [PATCH 8/9] userfaultfd: update documentation to describe minor fault handling Axel Rasmussen
2021-01-15 19:04   ` Axel Rasmussen
2021-01-15 19:04 ` [PATCH 9/9] userfaultfd/selftests: add test exercising " Axel Rasmussen
2021-01-15 19:04   ` Axel Rasmussen
2021-01-21 19:12 ` Peter Xu [this message]
2021-01-21 22:13   ` [PATCH 0/9] userfaultfd: add " Axel Rasmussen
2021-01-21 22:37     ` Peter Xu
2021-01-22 21:29 Axel Rasmussen
2021-01-22 21:29 ` Axel Rasmussen

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=20210121191241.GG260413@xz-x1 \
    --to=peterx@redhat.com \
    --cc=aarcange@redhat.com \
    --cc=adobriyan@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=anshuman.khandual@arm.com \
    --cc=axelrasmussen@google.com \
    --cc=cannonmatthews@google.com \
    --cc=catalin.marinas@arm.com \
    --cc=chinwen.chang@mediatek.com \
    --cc=dgilbert@redhat.com \
    --cc=jannh@google.com \
    --cc=jglisse@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lokeshgidra@google.com \
    --cc=mike.kravetz@oracle.com \
    --cc=mingo@redhat.com \
    --cc=mkoutny@suse.com \
    --cc=mpe@ellerman.id.au \
    --cc=npiggin@gmail.com \
    --cc=oupton@google.com \
    --cc=rientjes@google.com \
    --cc=rostedt@goodmis.org \
    --cc=rppt@linux.vnet.ibm.com \
    --cc=ruprecht@google.com \
    --cc=shawn@anastas.io \
    --cc=shli@fb.com \
    --cc=steven.price@arm.com \
    --cc=vbabka@suse.cz \
    --cc=viro@zeniv.linux.org.uk \
    --cc=walken@google.com \
    --cc=willy@infradead.org \
    --cc=ying.huang@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.