Re: linux-next: Tree for Aug 7 (mm/khugepaged.c)

From: Song Liu
Date: Wed Aug 07 2019 - 18:11:58 EST




> On Aug 7, 2019, at 2:30 PM, Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>
> On 8/7/19 2:27 PM, Andrew Morton wrote:
>> On Wed, 7 Aug 2019 21:00:04 +0000 Song Liu <songliubraving@xxxxxx> wrote:
>>
>>>>>
>>>>> Shall I resend the patch, or shall I send fix on top of current patch?
>>>>
>>>> Either is OK. If the difference is small I will turn it into an
>>>> incremental patch so that I (and others) can see what changed.
>>>
>>> Please find the patch to fix this at the end of this email. It applies
>>> right on top of "khugepaged: enable collapse pmd for pte-mapped THP".
>>> It may conflict a little with the "Enable THP for text section of
>>> non-shmem files" set, which renames function khugepaged_scan_shmem().
>>>
>>> Also, I found v3 of the set in linux-next. The latest is v4:
>>>
>>> https://lkml.org/lkml/2019/8/2/1587
>>> https://lkml.org/lkml/2019/8/2/1588
>>> https://lkml.org/lkml/2019/8/2/1589
>>
>> It's all a bit confusing. I'll drop
>>
>> mm-move-memcmp_pages-and-pages_identical.patch
>> uprobe-use-original-page-when-all-uprobes-are-removed.patch
>> uprobe-use-original-page-when-all-uprobes-are-removed-v2.patch
>> mm-thp-introduce-foll_split_pmd.patch
>> mm-thp-introduce-foll_split_pmd-v11.patch
>> uprobe-use-foll_split_pmd-instead-of-foll_split.patch
>> khugepaged-enable-collapse-pmd-for-pte-mapped-thp.patch
>> uprobe-collapse-thp-pmd-after-removing-all-uprobes.patch
>>
>> Please resolve Oleg's review comments and resend everything.
>>
>
> OK, that will take care of the build error that I am still seeing
> when SHMEM is not enabled:
>
> ../mm/khugepaged.c:1849:2: note: in expansion of macro âBUILD_BUGâ
> BUILD_BUG();
> ^~~~~~~~~

This was broken by one of my other patch. Sorry!

The following patch (on top of linux-next/master) fixes it.

Thanks,
Song

================= 8< ==============================

From 4d6e3a3a28bf85b1debbb90c55f66c81e9ebb9ec Mon Sep 17 00:00:00 2001
From: Song Liu <songliubraving@xxxxxx>
Date: Wed, 7 Aug 2019 14:57:38 -0700
Subject: [PATCH] khugepaged: fix build without CONFIG_SHMEM

khugepaged_scan_file() should be fully bypassed without CONFIG_SHMEM.

Fixes: f57286140d96 ("mm,thp: add read-only THP support for (non-shmem) FS")
Signed-off-by: Song Liu <songliubraving@xxxxxx>
---
mm/khugepaged.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/khugepaged.c b/mm/khugepaged.c
index 272fed3ed0f0..40c25ddf29e4 100644
--- a/mm/khugepaged.c
+++ b/mm/khugepaged.c
@@ -1778,7 +1778,7 @@ static unsigned int khugepaged_scan_mm_slot(unsigned int pages,
VM_BUG_ON(khugepaged_scan.address < hstart ||
khugepaged_scan.address + HPAGE_PMD_SIZE >
hend);
- if (vma->vm_file) {
+ if (IS_ENABLED(CONFIG_SHMEM) && vma->vm_file) {
struct file *file;
pgoff_t pgoff = linear_page_index(vma,
khugepaged_scan.address);
--
2.17.1