On 12.10.2021 14:43, Matthew Wilcox wrote: > On Tue, Oct 12, 2021 at 02:02:37PM +0200, Marek Szyprowski wrote: >> Decrease nr_thps counter in file's mapping to ensure that the page cache >> won't be dropped excessively on file write access if page has been >> already splitted. >> >> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> >> Fixes: 09d91cda0e82 ("mm,thp: avoid writes to file with THP in pagecache") >> Fixes: 06d3eff62d9d ("mm/thp: fix node page state in split_huge_page_to_list()") >> --- >> I've analyzed the code a few times but either I missed something or the >> nr_thps counter is not decremented during the THP split on non-shmem file >> pages. > This looks OK to me, but have you tested it? If so, what workload did > you use? The way you wrote this changelog makes it sound like you only > read the code and there have been rather too many bugs introduced recently > that way :-( Well, indeed I've found it while reading the code. However I've just tried a test scenario, where one runs a big binary, kernel remaps it with THPs, then one forces THP split with /sys/kernel/debug/split_huge_pages. During any further open of that binary with O_RDWR or O_WRITEONLY kernel drops page cache for it, because of non-zero thps counter. Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland