linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Matthew Wilcox (Oracle)" <willy@infradead.org>
To: Suren Baghdasaryan <surenb@google.com>
Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>,
	linux-mm@kvack.org, linux-fsdevel@vger.kernel.org,
	Punit Agrawal <punit.agrawal@bytedance.com>
Subject: [PATCH 0/6] Avoid the mmap lock for fault-around
Date: Tue,  4 Apr 2023 14:58:44 +0100	[thread overview]
Message-ID: <20230404135850.3673404-1-willy@infradead.org> (raw)

The linux-next tree currently contains patches (mostly from Suren)
which handle some page faults without the protection of the mmap lock.
This patchset adds the ability to handle page faults on parts of files
which are already in the page cache without taking the mmap lock.

I've taken a very gradual approach to pushing the lock down.  I'm not 100%
confident in my ability to grasp all the finer aspects of VMA handling,
so some reviewrs may well feel that I could have combined some of
these patches.  I did try to skip one of these steps and it had a bug,
so I feel justified in proceeding cautiously.

Several people have volunteered to run benchmarks on this, so I haven't.
I have run it through xfstests and it doesn't appear to introduce any
regressions.

Matthew Wilcox (Oracle) (6):
  mm: Allow per-VMA locks on file-backed VMAs
  mm: Move FAULT_FLAG_VMA_LOCK check from handle_mm_fault()
  mm: Move FAULT_FLAG_VMA_LOCK check into handle_pte_fault()
  mm: Move FAULT_FLAG_VMA_LOCK check down in handle_pte_fault()
  mm: Move the FAULT_FLAG_VMA_LOCK check down from do_pte_missing()
  mm: Run the fault-around code under the VMA lock

 mm/hugetlb.c |  4 ++++
 mm/memory.c  | 28 +++++++++++++++++++---------
 2 files changed, 23 insertions(+), 9 deletions(-)

-- 
2.39.2


             reply	other threads:[~2023-04-04 14:00 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-04 13:58 Matthew Wilcox (Oracle) [this message]
2023-04-04 13:58 ` [PATCH 1/6] mm: Allow per-VMA locks on file-backed VMAs Matthew Wilcox (Oracle)
2023-04-07 17:54   ` Suren Baghdasaryan
2023-04-07 20:12     ` Matthew Wilcox
2023-04-07 20:26       ` Suren Baghdasaryan
2023-04-07 21:36         ` Matthew Wilcox
2023-04-07 22:40           ` Suren Baghdasaryan
2023-04-07 22:49             ` Suren Baghdasaryan
2023-04-14 18:02           ` Suren Baghdasaryan
2023-04-04 13:58 ` [PATCH 2/6] mm: Move FAULT_FLAG_VMA_LOCK check from handle_mm_fault() Matthew Wilcox (Oracle)
2023-04-04 13:58 ` [PATCH 3/6] mm: Move FAULT_FLAG_VMA_LOCK check into handle_pte_fault() Matthew Wilcox (Oracle)
2023-04-04 13:58 ` [PATCH 4/6] mm: Move FAULT_FLAG_VMA_LOCK check down in handle_pte_fault() Matthew Wilcox (Oracle)
2023-04-04 13:58 ` [PATCH 5/6] mm: Move the FAULT_FLAG_VMA_LOCK check down from do_pte_missing() Matthew Wilcox (Oracle)
2023-04-04 13:58 ` [PATCH 6/6] mm: Run the fault-around code under the VMA lock Matthew Wilcox (Oracle)
2023-04-04 15:23   ` Matthew Wilcox
2023-04-07 18:20     ` Suren Baghdasaryan
2023-04-10  4:53     ` Yin, Fengwei
2023-04-10 14:11       ` Matthew Wilcox
2023-04-12  7:35         ` Yin, Fengwei

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=20230404135850.3673404-1-willy@infradead.org \
    --to=willy@infradead.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=punit.agrawal@bytedance.com \
    --cc=surenb@google.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;
as well as URLs for NNTP newsgroup(s).