Re: [PATCH 7/7] x86,idle: do not leave mm in idle state

From: kbuild test robot
Date: Wed Jun 20 2018 - 18:21:06 EST


Hi Rik,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on v4.17]
[also build test ERROR on next-20180620]
[cannot apply to tip/x86/core linus/master mmotm/master v4.18-rc1]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Rik-van-Riel/x86-tlb-mm-make-lazy-TLB-mode-even-lazier/20180621-045620
config: x86_64-rhel (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

All error/warnings (new ones prefixed by >>):

arch/x86/xen/mmu_pv.c: In function 'drop_mm_ref_this_cpu':
>> arch/x86/xen/mmu_pv.c:987:3: error: implicit declaration of function 'leave_mm' [-Werror=implicit-function-declaration]
leave_mm(smp_processor_id());
^~~~~~~~
cc1: some warnings being treated as errors
--
In file included from arch/x86/include/asm/fixmap.h:19:0,
from arch/x86/include/asm/apic.h:10,
from arch/x86/include/asm/smp.h:13,
from arch/x86/include/asm/mmzone_64.h:11,
from arch/x86/include/asm/mmzone.h:5,
from include/linux/mmzone.h:911,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from drivers/acpi/processor_idle.c:28:
drivers/acpi/processor_idle.c: In function 'acpi_idle_enter_bm':
>> arch/x86/include/asm/acpi.h:164:28: error: implicit declaration of function 'leave_mm' [-Werror=implicit-function-declaration]
#define acpi_unlazy_tlb(x) leave_mm(x)
^
>> drivers/acpi/processor_idle.c:717:2: note: in expansion of macro 'acpi_unlazy_tlb'
acpi_unlazy_tlb(smp_processor_id());
^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from arch/x86/include/asm/fixmap.h:19:0,
from arch/x86/include/asm/apic.h:10,
from arch/x86/include/asm/smp.h:13,
from arch/x86/include/asm/mmzone_64.h:11,
from arch/x86/include/asm/mmzone.h:5,
from include/linux/mmzone.h:911,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from drivers//acpi/processor_idle.c:28:
drivers//acpi/processor_idle.c: In function 'acpi_idle_enter_bm':
>> arch/x86/include/asm/acpi.h:164:28: error: implicit declaration of function 'leave_mm' [-Werror=implicit-function-declaration]
#define acpi_unlazy_tlb(x) leave_mm(x)
^
drivers//acpi/processor_idle.c:717:2: note: in expansion of macro 'acpi_unlazy_tlb'
acpi_unlazy_tlb(smp_processor_id());
^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors

vim +/leave_mm +987 arch/x86/xen/mmu_pv.c

7e0563de Vitaly Kuznetsov 2017-04-04 981
3d28ebce Andy Lutomirski 2017-05-28 982 static void drop_mm_ref_this_cpu(void *info)
7e0563de Vitaly Kuznetsov 2017-04-04 983 {
7e0563de Vitaly Kuznetsov 2017-04-04 984 struct mm_struct *mm = info;
7e0563de Vitaly Kuznetsov 2017-04-04 985
3d28ebce Andy Lutomirski 2017-05-28 986 if (this_cpu_read(cpu_tlbstate.loaded_mm) == mm)
7e0563de Vitaly Kuznetsov 2017-04-04 @987 leave_mm(smp_processor_id());
7e0563de Vitaly Kuznetsov 2017-04-04 988
3d28ebce Andy Lutomirski 2017-05-28 989 /*
3d28ebce Andy Lutomirski 2017-05-28 990 * If this cpu still has a stale cr3 reference, then make sure
3d28ebce Andy Lutomirski 2017-05-28 991 * it has been flushed.
3d28ebce Andy Lutomirski 2017-05-28 992 */
7e0563de Vitaly Kuznetsov 2017-04-04 993 if (this_cpu_read(xen_current_cr3) == __pa(mm->pgd))
3d28ebce Andy Lutomirski 2017-05-28 994 xen_mc_flush();
7e0563de Vitaly Kuznetsov 2017-04-04 995 }
7e0563de Vitaly Kuznetsov 2017-04-04 996

:::::: The code at line 987 was first introduced by commit
:::::: 7e0563dea9c4e62297846359186c597e7231912d x86/xen: split off mmu_pv.c

:::::: TO: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
:::::: CC: Juergen Gross <jgross@xxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip