From: kbuild test robot <lkp@intel.com>
To: Chintan Pandya <cpandya@codeaurora.org>
Cc: kbuild-all@01.org, catalin.marinas@arm.com, will.deacon@arm.com,
mark.rutland@arm.com, toshi.kani@hpe.com, arnd@arndb.de,
ard.biesheuvel@linaro.org, marc.zyngier@arm.com,
james.morse@arm.com, kristina.martsenko@arm.com,
takahiro.akashi@linaro.org, gregkh@linuxfoundation.org,
tglx@linutronix.de, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
akpm@linux-foundation.org,
Chintan Pandya <cpandya@codeaurora.org>
Subject: Re: [PATCH v5 1/4] ioremap: Update pgtable free interfaces with addr
Date: Wed, 28 Mar 2018 21:12:59 +0800 [thread overview]
Message-ID: <201803281941.igJwUmWJ%fengguang.wu@intel.com> (raw)
In-Reply-To: <1522157100-16879-2-git-send-email-cpandya@codeaurora.org>
[-- Attachment #1: Type: text/plain, Size: 6223 bytes --]
Hi Chintan,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on v4.16-rc7]
[also build test WARNING on next-20180328]
[cannot apply to arm64/for-next/core tip/x86/core asm-generic/master]
[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/Chintan-Pandya/Fix-issues-with-huge-mapping-in-ioremap-for-ARM64/20180328-192254
config: x86_64-randconfig-x019-201812 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All warnings (new ones prefixed by >>):
In file included from include/asm-generic/bug.h:5:0,
from arch/x86/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from arch/x86//mm/pgtable.c:2:
arch/x86//mm/pgtable.c: In function 'pud_free_pmd_page':
arch/x86//mm/pgtable.c:725:8: error: too few arguments to function 'pmd_free_pte_page'
if (!pmd_free_pte_page(&pmd[i]))
^
include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
>> arch/x86//mm/pgtable.c:725:3: note: in expansion of macro 'if'
if (!pmd_free_pte_page(&pmd[i]))
^~
In file included from arch/x86/include/asm/pgtable.h:1292:0,
from include/linux/memremap.h:8,
from include/linux/mm.h:27,
from arch/x86//mm/pgtable.c:2:
include/asm-generic/pgtable.h:987:5: note: declared here
int pmd_free_pte_page(pmd_t *pmd, unsigned long addr);
^~~~~~~~~~~~~~~~~
In file included from include/asm-generic/bug.h:5:0,
from arch/x86/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from arch/x86//mm/pgtable.c:2:
arch/x86//mm/pgtable.c:725:8: error: too few arguments to function 'pmd_free_pte_page'
if (!pmd_free_pte_page(&pmd[i]))
^
include/linux/compiler.h:58:42: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
>> arch/x86//mm/pgtable.c:725:3: note: in expansion of macro 'if'
if (!pmd_free_pte_page(&pmd[i]))
^~
In file included from arch/x86/include/asm/pgtable.h:1292:0,
from include/linux/memremap.h:8,
from include/linux/mm.h:27,
from arch/x86//mm/pgtable.c:2:
include/asm-generic/pgtable.h:987:5: note: declared here
int pmd_free_pte_page(pmd_t *pmd, unsigned long addr);
^~~~~~~~~~~~~~~~~
In file included from include/asm-generic/bug.h:5:0,
from arch/x86/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from arch/x86//mm/pgtable.c:2:
arch/x86//mm/pgtable.c:725:8: error: too few arguments to function 'pmd_free_pte_page'
if (!pmd_free_pte_page(&pmd[i]))
^
include/linux/compiler.h:69:16: note: in definition of macro '__trace_if'
______r = !!(cond); \
^~~~
>> arch/x86//mm/pgtable.c:725:3: note: in expansion of macro 'if'
if (!pmd_free_pte_page(&pmd[i]))
^~
In file included from arch/x86/include/asm/pgtable.h:1292:0,
from include/linux/memremap.h:8,
from include/linux/mm.h:27,
from arch/x86//mm/pgtable.c:2:
include/asm-generic/pgtable.h:987:5: note: declared here
int pmd_free_pte_page(pmd_t *pmd, unsigned long addr);
^~~~~~~~~~~~~~~~~
vim +/if +725 arch/x86//mm/pgtable.c
b6bdb751 Toshi Kani 2018-03-22 705
b6bdb751 Toshi Kani 2018-03-22 706 /**
b6bdb751 Toshi Kani 2018-03-22 707 * pud_free_pmd_page - Clear pud entry and free pmd page.
b6bdb751 Toshi Kani 2018-03-22 708 * @pud: Pointer to a PUD.
5b7ee34c Chintan Pandya 2018-03-27 709 * @addr: Virtual address associated with pud.
b6bdb751 Toshi Kani 2018-03-22 710 *
b6bdb751 Toshi Kani 2018-03-22 711 * Context: The pud range has been unmaped and TLB purged.
b6bdb751 Toshi Kani 2018-03-22 712 * Return: 1 if clearing the entry succeeded. 0 otherwise.
b6bdb751 Toshi Kani 2018-03-22 713 */
5b7ee34c Chintan Pandya 2018-03-27 714 int pud_free_pmd_page(pud_t *pud, unsigned long addr)
b6bdb751 Toshi Kani 2018-03-22 715 {
28ee90fe Toshi Kani 2018-03-22 716 pmd_t *pmd;
28ee90fe Toshi Kani 2018-03-22 717 int i;
28ee90fe Toshi Kani 2018-03-22 718
28ee90fe Toshi Kani 2018-03-22 719 if (pud_none(*pud))
28ee90fe Toshi Kani 2018-03-22 720 return 1;
28ee90fe Toshi Kani 2018-03-22 721
28ee90fe Toshi Kani 2018-03-22 722 pmd = (pmd_t *)pud_page_vaddr(*pud);
28ee90fe Toshi Kani 2018-03-22 723
28ee90fe Toshi Kani 2018-03-22 724 for (i = 0; i < PTRS_PER_PMD; i++)
28ee90fe Toshi Kani 2018-03-22 @725 if (!pmd_free_pte_page(&pmd[i]))
28ee90fe Toshi Kani 2018-03-22 726 return 0;
28ee90fe Toshi Kani 2018-03-22 727
28ee90fe Toshi Kani 2018-03-22 728 pud_clear(pud);
28ee90fe Toshi Kani 2018-03-22 729 free_page((unsigned long)pmd);
28ee90fe Toshi Kani 2018-03-22 730
28ee90fe Toshi Kani 2018-03-22 731 return 1;
b6bdb751 Toshi Kani 2018-03-22 732 }
b6bdb751 Toshi Kani 2018-03-22 733
:::::: The code at line 725 was first introduced by commit
:::::: 28ee90fe6048fa7b7ceaeb8831c0e4e454a4cf89 x86/mm: implement free pmd/pte page interfaces
:::::: TO: Toshi Kani <toshi.kani@hpe.com>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30042 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
Cc: kbuild-all@01.org, catalin.marinas@arm.com, will.deacon@arm.com,
mark.rutland@arm.com, toshi.kani@hpe.com, arnd@arndb.de,
ard.biesheuvel@linaro.org, marc.zyngier@arm.com,
james.morse@arm.com, kristina.martsenko@arm.com,
takahiro.akashi@linaro.org, gregkh@linuxfoundation.org,
tglx@linutronix.de, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
akpm@linux-foundation.org,
Chintan Pandya <cpandya@codeaurora.org>
Subject: Re: [PATCH v5 1/4] ioremap: Update pgtable free interfaces with addr
Date: Wed, 28 Mar 2018 21:12:59 +0800 [thread overview]
Message-ID: <201803281941.igJwUmWJ%fengguang.wu@intel.com> (raw)
In-Reply-To: <1522157100-16879-2-git-send-email-cpandya@codeaurora.org>
[-- Attachment #1: Type: text/plain, Size: 6223 bytes --]
Hi Chintan,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on v4.16-rc7]
[also build test WARNING on next-20180328]
[cannot apply to arm64/for-next/core tip/x86/core asm-generic/master]
[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/Chintan-Pandya/Fix-issues-with-huge-mapping-in-ioremap-for-ARM64/20180328-192254
config: x86_64-randconfig-x019-201812 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All warnings (new ones prefixed by >>):
In file included from include/asm-generic/bug.h:5:0,
from arch/x86/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from arch/x86//mm/pgtable.c:2:
arch/x86//mm/pgtable.c: In function 'pud_free_pmd_page':
arch/x86//mm/pgtable.c:725:8: error: too few arguments to function 'pmd_free_pte_page'
if (!pmd_free_pte_page(&pmd[i]))
^
include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
>> arch/x86//mm/pgtable.c:725:3: note: in expansion of macro 'if'
if (!pmd_free_pte_page(&pmd[i]))
^~
In file included from arch/x86/include/asm/pgtable.h:1292:0,
from include/linux/memremap.h:8,
from include/linux/mm.h:27,
from arch/x86//mm/pgtable.c:2:
include/asm-generic/pgtable.h:987:5: note: declared here
int pmd_free_pte_page(pmd_t *pmd, unsigned long addr);
^~~~~~~~~~~~~~~~~
In file included from include/asm-generic/bug.h:5:0,
from arch/x86/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from arch/x86//mm/pgtable.c:2:
arch/x86//mm/pgtable.c:725:8: error: too few arguments to function 'pmd_free_pte_page'
if (!pmd_free_pte_page(&pmd[i]))
^
include/linux/compiler.h:58:42: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
>> arch/x86//mm/pgtable.c:725:3: note: in expansion of macro 'if'
if (!pmd_free_pte_page(&pmd[i]))
^~
In file included from arch/x86/include/asm/pgtable.h:1292:0,
from include/linux/memremap.h:8,
from include/linux/mm.h:27,
from arch/x86//mm/pgtable.c:2:
include/asm-generic/pgtable.h:987:5: note: declared here
int pmd_free_pte_page(pmd_t *pmd, unsigned long addr);
^~~~~~~~~~~~~~~~~
In file included from include/asm-generic/bug.h:5:0,
from arch/x86/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from arch/x86//mm/pgtable.c:2:
arch/x86//mm/pgtable.c:725:8: error: too few arguments to function 'pmd_free_pte_page'
if (!pmd_free_pte_page(&pmd[i]))
^
include/linux/compiler.h:69:16: note: in definition of macro '__trace_if'
______r = !!(cond); \
^~~~
>> arch/x86//mm/pgtable.c:725:3: note: in expansion of macro 'if'
if (!pmd_free_pte_page(&pmd[i]))
^~
In file included from arch/x86/include/asm/pgtable.h:1292:0,
from include/linux/memremap.h:8,
from include/linux/mm.h:27,
from arch/x86//mm/pgtable.c:2:
include/asm-generic/pgtable.h:987:5: note: declared here
int pmd_free_pte_page(pmd_t *pmd, unsigned long addr);
^~~~~~~~~~~~~~~~~
vim +/if +725 arch/x86//mm/pgtable.c
b6bdb751 Toshi Kani 2018-03-22 705
b6bdb751 Toshi Kani 2018-03-22 706 /**
b6bdb751 Toshi Kani 2018-03-22 707 * pud_free_pmd_page - Clear pud entry and free pmd page.
b6bdb751 Toshi Kani 2018-03-22 708 * @pud: Pointer to a PUD.
5b7ee34c Chintan Pandya 2018-03-27 709 * @addr: Virtual address associated with pud.
b6bdb751 Toshi Kani 2018-03-22 710 *
b6bdb751 Toshi Kani 2018-03-22 711 * Context: The pud range has been unmaped and TLB purged.
b6bdb751 Toshi Kani 2018-03-22 712 * Return: 1 if clearing the entry succeeded. 0 otherwise.
b6bdb751 Toshi Kani 2018-03-22 713 */
5b7ee34c Chintan Pandya 2018-03-27 714 int pud_free_pmd_page(pud_t *pud, unsigned long addr)
b6bdb751 Toshi Kani 2018-03-22 715 {
28ee90fe Toshi Kani 2018-03-22 716 pmd_t *pmd;
28ee90fe Toshi Kani 2018-03-22 717 int i;
28ee90fe Toshi Kani 2018-03-22 718
28ee90fe Toshi Kani 2018-03-22 719 if (pud_none(*pud))
28ee90fe Toshi Kani 2018-03-22 720 return 1;
28ee90fe Toshi Kani 2018-03-22 721
28ee90fe Toshi Kani 2018-03-22 722 pmd = (pmd_t *)pud_page_vaddr(*pud);
28ee90fe Toshi Kani 2018-03-22 723
28ee90fe Toshi Kani 2018-03-22 724 for (i = 0; i < PTRS_PER_PMD; i++)
28ee90fe Toshi Kani 2018-03-22 @725 if (!pmd_free_pte_page(&pmd[i]))
28ee90fe Toshi Kani 2018-03-22 726 return 0;
28ee90fe Toshi Kani 2018-03-22 727
28ee90fe Toshi Kani 2018-03-22 728 pud_clear(pud);
28ee90fe Toshi Kani 2018-03-22 729 free_page((unsigned long)pmd);
28ee90fe Toshi Kani 2018-03-22 730
28ee90fe Toshi Kani 2018-03-22 731 return 1;
b6bdb751 Toshi Kani 2018-03-22 732 }
b6bdb751 Toshi Kani 2018-03-22 733
:::::: The code at line 725 was first introduced by commit
:::::: 28ee90fe6048fa7b7ceaeb8831c0e4e454a4cf89 x86/mm: implement free pmd/pte page interfaces
:::::: TO: Toshi Kani <toshi.kani@hpe.com>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30042 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: Chintan Pandya <cpandya@codeaurora.org>
Cc: kbuild-all@01.org, catalin.marinas@arm.com, will.deacon@arm.com,
mark.rutland@arm.com, toshi.kani@hpe.com, arnd@arndb.de,
ard.biesheuvel@linaro.org, marc.zyngier@arm.com,
james.morse@arm.com, kristina.martsenko@arm.com,
takahiro.akashi@linaro.org, gregkh@linuxfoundation.org,
tglx@linutronix.de, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
akpm@linux-foundation.org
Subject: Re: [PATCH v5 1/4] ioremap: Update pgtable free interfaces with addr
Date: Wed, 28 Mar 2018 21:12:59 +0800 [thread overview]
Message-ID: <201803281941.igJwUmWJ%fengguang.wu@intel.com> (raw)
Message-ID: <20180328131259.YkJsHSfVSUX9N3-VEpxq3jRaiVMqABXtGZ3u581UaTQ@z> (raw)
In-Reply-To: <1522157100-16879-2-git-send-email-cpandya@codeaurora.org>
[-- Attachment #1: Type: text/plain, Size: 6223 bytes --]
Hi Chintan,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on v4.16-rc7]
[also build test WARNING on next-20180328]
[cannot apply to arm64/for-next/core tip/x86/core asm-generic/master]
[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/Chintan-Pandya/Fix-issues-with-huge-mapping-in-ioremap-for-ARM64/20180328-192254
config: x86_64-randconfig-x019-201812 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All warnings (new ones prefixed by >>):
In file included from include/asm-generic/bug.h:5:0,
from arch/x86/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from arch/x86//mm/pgtable.c:2:
arch/x86//mm/pgtable.c: In function 'pud_free_pmd_page':
arch/x86//mm/pgtable.c:725:8: error: too few arguments to function 'pmd_free_pte_page'
if (!pmd_free_pte_page(&pmd[i]))
^
include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
>> arch/x86//mm/pgtable.c:725:3: note: in expansion of macro 'if'
if (!pmd_free_pte_page(&pmd[i]))
^~
In file included from arch/x86/include/asm/pgtable.h:1292:0,
from include/linux/memremap.h:8,
from include/linux/mm.h:27,
from arch/x86//mm/pgtable.c:2:
include/asm-generic/pgtable.h:987:5: note: declared here
int pmd_free_pte_page(pmd_t *pmd, unsigned long addr);
^~~~~~~~~~~~~~~~~
In file included from include/asm-generic/bug.h:5:0,
from arch/x86/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from arch/x86//mm/pgtable.c:2:
arch/x86//mm/pgtable.c:725:8: error: too few arguments to function 'pmd_free_pte_page'
if (!pmd_free_pte_page(&pmd[i]))
^
include/linux/compiler.h:58:42: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
>> arch/x86//mm/pgtable.c:725:3: note: in expansion of macro 'if'
if (!pmd_free_pte_page(&pmd[i]))
^~
In file included from arch/x86/include/asm/pgtable.h:1292:0,
from include/linux/memremap.h:8,
from include/linux/mm.h:27,
from arch/x86//mm/pgtable.c:2:
include/asm-generic/pgtable.h:987:5: note: declared here
int pmd_free_pte_page(pmd_t *pmd, unsigned long addr);
^~~~~~~~~~~~~~~~~
In file included from include/asm-generic/bug.h:5:0,
from arch/x86/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from arch/x86//mm/pgtable.c:2:
arch/x86//mm/pgtable.c:725:8: error: too few arguments to function 'pmd_free_pte_page'
if (!pmd_free_pte_page(&pmd[i]))
^
include/linux/compiler.h:69:16: note: in definition of macro '__trace_if'
______r = !!(cond); \
^~~~
>> arch/x86//mm/pgtable.c:725:3: note: in expansion of macro 'if'
if (!pmd_free_pte_page(&pmd[i]))
^~
In file included from arch/x86/include/asm/pgtable.h:1292:0,
from include/linux/memremap.h:8,
from include/linux/mm.h:27,
from arch/x86//mm/pgtable.c:2:
include/asm-generic/pgtable.h:987:5: note: declared here
int pmd_free_pte_page(pmd_t *pmd, unsigned long addr);
^~~~~~~~~~~~~~~~~
vim +/if +725 arch/x86//mm/pgtable.c
b6bdb751 Toshi Kani 2018-03-22 705
b6bdb751 Toshi Kani 2018-03-22 706 /**
b6bdb751 Toshi Kani 2018-03-22 707 * pud_free_pmd_page - Clear pud entry and free pmd page.
b6bdb751 Toshi Kani 2018-03-22 708 * @pud: Pointer to a PUD.
5b7ee34c Chintan Pandya 2018-03-27 709 * @addr: Virtual address associated with pud.
b6bdb751 Toshi Kani 2018-03-22 710 *
b6bdb751 Toshi Kani 2018-03-22 711 * Context: The pud range has been unmaped and TLB purged.
b6bdb751 Toshi Kani 2018-03-22 712 * Return: 1 if clearing the entry succeeded. 0 otherwise.
b6bdb751 Toshi Kani 2018-03-22 713 */
5b7ee34c Chintan Pandya 2018-03-27 714 int pud_free_pmd_page(pud_t *pud, unsigned long addr)
b6bdb751 Toshi Kani 2018-03-22 715 {
28ee90fe Toshi Kani 2018-03-22 716 pmd_t *pmd;
28ee90fe Toshi Kani 2018-03-22 717 int i;
28ee90fe Toshi Kani 2018-03-22 718
28ee90fe Toshi Kani 2018-03-22 719 if (pud_none(*pud))
28ee90fe Toshi Kani 2018-03-22 720 return 1;
28ee90fe Toshi Kani 2018-03-22 721
28ee90fe Toshi Kani 2018-03-22 722 pmd = (pmd_t *)pud_page_vaddr(*pud);
28ee90fe Toshi Kani 2018-03-22 723
28ee90fe Toshi Kani 2018-03-22 724 for (i = 0; i < PTRS_PER_PMD; i++)
28ee90fe Toshi Kani 2018-03-22 @725 if (!pmd_free_pte_page(&pmd[i]))
28ee90fe Toshi Kani 2018-03-22 726 return 0;
28ee90fe Toshi Kani 2018-03-22 727
28ee90fe Toshi Kani 2018-03-22 728 pud_clear(pud);
28ee90fe Toshi Kani 2018-03-22 729 free_page((unsigned long)pmd);
28ee90fe Toshi Kani 2018-03-22 730
28ee90fe Toshi Kani 2018-03-22 731 return 1;
b6bdb751 Toshi Kani 2018-03-22 732 }
b6bdb751 Toshi Kani 2018-03-22 733
:::::: The code at line 725 was first introduced by commit
:::::: 28ee90fe6048fa7b7ceaeb8831c0e4e454a4cf89 x86/mm: implement free pmd/pte page interfaces
:::::: TO: Toshi Kani <toshi.kani@hpe.com>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30042 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: lkp@intel.com (kbuild test robot)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 1/4] ioremap: Update pgtable free interfaces with addr
Date: Wed, 28 Mar 2018 21:12:59 +0800 [thread overview]
Message-ID: <201803281941.igJwUmWJ%fengguang.wu@intel.com> (raw)
In-Reply-To: <1522157100-16879-2-git-send-email-cpandya@codeaurora.org>
Hi Chintan,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on v4.16-rc7]
[also build test WARNING on next-20180328]
[cannot apply to arm64/for-next/core tip/x86/core asm-generic/master]
[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/Chintan-Pandya/Fix-issues-with-huge-mapping-in-ioremap-for-ARM64/20180328-192254
config: x86_64-randconfig-x019-201812 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All warnings (new ones prefixed by >>):
In file included from include/asm-generic/bug.h:5:0,
from arch/x86/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from arch/x86//mm/pgtable.c:2:
arch/x86//mm/pgtable.c: In function 'pud_free_pmd_page':
arch/x86//mm/pgtable.c:725:8: error: too few arguments to function 'pmd_free_pte_page'
if (!pmd_free_pte_page(&pmd[i]))
^
include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
>> arch/x86//mm/pgtable.c:725:3: note: in expansion of macro 'if'
if (!pmd_free_pte_page(&pmd[i]))
^~
In file included from arch/x86/include/asm/pgtable.h:1292:0,
from include/linux/memremap.h:8,
from include/linux/mm.h:27,
from arch/x86//mm/pgtable.c:2:
include/asm-generic/pgtable.h:987:5: note: declared here
int pmd_free_pte_page(pmd_t *pmd, unsigned long addr);
^~~~~~~~~~~~~~~~~
In file included from include/asm-generic/bug.h:5:0,
from arch/x86/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from arch/x86//mm/pgtable.c:2:
arch/x86//mm/pgtable.c:725:8: error: too few arguments to function 'pmd_free_pte_page'
if (!pmd_free_pte_page(&pmd[i]))
^
include/linux/compiler.h:58:42: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
>> arch/x86//mm/pgtable.c:725:3: note: in expansion of macro 'if'
if (!pmd_free_pte_page(&pmd[i]))
^~
In file included from arch/x86/include/asm/pgtable.h:1292:0,
from include/linux/memremap.h:8,
from include/linux/mm.h:27,
from arch/x86//mm/pgtable.c:2:
include/asm-generic/pgtable.h:987:5: note: declared here
int pmd_free_pte_page(pmd_t *pmd, unsigned long addr);
^~~~~~~~~~~~~~~~~
In file included from include/asm-generic/bug.h:5:0,
from arch/x86/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from arch/x86//mm/pgtable.c:2:
arch/x86//mm/pgtable.c:725:8: error: too few arguments to function 'pmd_free_pte_page'
if (!pmd_free_pte_page(&pmd[i]))
^
include/linux/compiler.h:69:16: note: in definition of macro '__trace_if'
______r = !!(cond); \
^~~~
>> arch/x86//mm/pgtable.c:725:3: note: in expansion of macro 'if'
if (!pmd_free_pte_page(&pmd[i]))
^~
In file included from arch/x86/include/asm/pgtable.h:1292:0,
from include/linux/memremap.h:8,
from include/linux/mm.h:27,
from arch/x86//mm/pgtable.c:2:
include/asm-generic/pgtable.h:987:5: note: declared here
int pmd_free_pte_page(pmd_t *pmd, unsigned long addr);
^~~~~~~~~~~~~~~~~
vim +/if +725 arch/x86//mm/pgtable.c
b6bdb751 Toshi Kani 2018-03-22 705
b6bdb751 Toshi Kani 2018-03-22 706 /**
b6bdb751 Toshi Kani 2018-03-22 707 * pud_free_pmd_page - Clear pud entry and free pmd page.
b6bdb751 Toshi Kani 2018-03-22 708 * @pud: Pointer to a PUD.
5b7ee34c Chintan Pandya 2018-03-27 709 * @addr: Virtual address associated with pud.
b6bdb751 Toshi Kani 2018-03-22 710 *
b6bdb751 Toshi Kani 2018-03-22 711 * Context: The pud range has been unmaped and TLB purged.
b6bdb751 Toshi Kani 2018-03-22 712 * Return: 1 if clearing the entry succeeded. 0 otherwise.
b6bdb751 Toshi Kani 2018-03-22 713 */
5b7ee34c Chintan Pandya 2018-03-27 714 int pud_free_pmd_page(pud_t *pud, unsigned long addr)
b6bdb751 Toshi Kani 2018-03-22 715 {
28ee90fe Toshi Kani 2018-03-22 716 pmd_t *pmd;
28ee90fe Toshi Kani 2018-03-22 717 int i;
28ee90fe Toshi Kani 2018-03-22 718
28ee90fe Toshi Kani 2018-03-22 719 if (pud_none(*pud))
28ee90fe Toshi Kani 2018-03-22 720 return 1;
28ee90fe Toshi Kani 2018-03-22 721
28ee90fe Toshi Kani 2018-03-22 722 pmd = (pmd_t *)pud_page_vaddr(*pud);
28ee90fe Toshi Kani 2018-03-22 723
28ee90fe Toshi Kani 2018-03-22 724 for (i = 0; i < PTRS_PER_PMD; i++)
28ee90fe Toshi Kani 2018-03-22 @725 if (!pmd_free_pte_page(&pmd[i]))
28ee90fe Toshi Kani 2018-03-22 726 return 0;
28ee90fe Toshi Kani 2018-03-22 727
28ee90fe Toshi Kani 2018-03-22 728 pud_clear(pud);
28ee90fe Toshi Kani 2018-03-22 729 free_page((unsigned long)pmd);
28ee90fe Toshi Kani 2018-03-22 730
28ee90fe Toshi Kani 2018-03-22 731 return 1;
b6bdb751 Toshi Kani 2018-03-22 732 }
b6bdb751 Toshi Kani 2018-03-22 733
:::::: The code at line 725 was first introduced by commit
:::::: 28ee90fe6048fa7b7ceaeb8831c0e4e454a4cf89 x86/mm: implement free pmd/pte page interfaces
:::::: TO: Toshi Kani <toshi.kani@hpe.com>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 30042 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180328/19cbd065/attachment-0001.gz>
next prev parent reply other threads:[~2018-03-28 13:12 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-27 13:24 [PATCH v5 0/4] Fix issues with huge mapping in ioremap for ARM64 Chintan Pandya
2018-03-27 13:24 ` Chintan Pandya
2018-03-27 13:24 ` Chintan Pandya
2018-03-27 13:24 ` Chintan Pandya
2018-03-27 13:24 ` [PATCH v5 1/4] ioremap: Update pgtable free interfaces with addr Chintan Pandya
2018-03-27 13:24 ` Chintan Pandya
2018-03-28 11:50 ` kbuild test robot
2018-03-28 11:50 ` kbuild test robot
2018-03-28 11:50 ` kbuild test robot
2018-03-28 11:50 ` kbuild test robot
2018-03-28 12:22 ` Chintan Pandya
2018-03-28 12:22 ` Chintan Pandya
2018-03-28 13:12 ` kbuild test robot [this message]
2018-03-28 13:12 ` kbuild test robot
2018-03-28 13:12 ` kbuild test robot
2018-03-28 13:12 ` kbuild test robot
2018-03-27 13:24 ` [PATCH v5 2/4] arm64: tlbflush: Introduce __flush_tlb_kernel_pgtable Chintan Pandya
2018-03-27 13:24 ` Chintan Pandya
2018-03-27 13:24 ` [PATCH v5 3/4] arm64: Implement page table free interfaces Chintan Pandya
2018-03-27 13:24 ` Chintan Pandya
2018-03-27 18:00 ` Will Deacon
2018-03-27 18:00 ` Will Deacon
2018-03-28 6:59 ` Chintan Pandya
2018-03-28 6:59 ` Chintan Pandya
2018-03-27 13:25 ` [PATCH v5 4/4] Revert "arm64: Enforce BBM for huge IO/VMAP mappings" Chintan Pandya
2018-03-27 13:25 ` Chintan Pandya
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=201803281941.igJwUmWJ%fengguang.wu@intel.com \
--to=lkp@intel.com \
--cc=akpm@linux-foundation.org \
--cc=ard.biesheuvel@linaro.org \
--cc=arnd@arndb.de \
--cc=catalin.marinas@arm.com \
--cc=cpandya@codeaurora.org \
--cc=gregkh@linuxfoundation.org \
--cc=james.morse@arm.com \
--cc=kbuild-all@01.org \
--cc=kristina.martsenko@arm.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=mark.rutland@arm.com \
--cc=takahiro.akashi@linaro.org \
--cc=tglx@linutronix.de \
--cc=toshi.kani@hpe.com \
--cc=will.deacon@arm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.