[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211011022241.97072-1-rongwei.wang@linux.alibaba.com>
Date: Mon, 11 Oct 2021 10:22:39 +0800
From: Rongwei Wang <rongwei.wang@...ux.alibaba.com>
To: linux-mm@...ck.org, linux-kernel@...r.kernel.org
Cc: akpm@...ux-foundation.org, willy@...radead.org, song@...nel.org,
william.kucharski@...cle.com, hughd@...gle.com, shy828301@...il.com
Subject: [PATCH v4 0/2] mm, thp: fix file-backed THP race in collapse_file and truncate pagecache
Hi
We found two bugs related to file-backed THP in our cases, recently.
The two bugs rough description as following:
1. in truncate_inode_pages_range, subpage(s) of file-backed THP can be
revealed by find_get_entry.
2. 'collapse_file' miss the pages which in writeback but no private.
This situation will be triggered in XFS when block size is set to
PAGESIZE.
These two patches mainly fix the above mentioned bugs, and have been
tested in latest branch.
Changelog:
v3 -> v4:
- Patch "mm, thp: lock filemap when truncating page cache"
- Patch "mm, thp: bail out early in collapse_file for writeback page"
remove the timestamps from the commit log.
v2 -> v3:
- Patch "mm, thp: lock filemap when truncating page cache"
add filemap_invalidate_{un}lock before and after calling truncate_pagecache (Suggested by Song Liu and Matthew).
v1 -> v2:
- Patch "mm, thp: check page mapping when truncating page cache"
move the check of page mapping to behind lock_page.
- Patch "mm, thp: bail out early in collapse_file for writeback page"
check the writeback flag before taking page lock (Suggested by Yang Shi).
v1 link:
https://patchwork.kernel.org/project/linux-mm/cover/20210906121200.57905-1-rongwei.wang@linux.alibaba.com/
v2 link:
https://patchwork.kernel.org/project/linux-mm/patch/20210922070645.47345-2-rongwei.wang@linux.alibaba.com/
v3 link:
https://patchwork.kernel.org/project/linux-mm/cover/20211006021837.59721-1-rongwei.wang@linux.alibaba.com/
Rongwei Wang (2):
mm, thp: lock filemap when truncating page cache
mm, thp: bail out early in collapse_file for writeback page
fs/open.c | 5 ++++-
mm/khugepaged.c | 7 ++++++-
2 files changed, 10 insertions(+), 2 deletions(-)
--
2.27.0
Powered by blists - more mailing lists