* arch/arm64/include/asm/irqflags.h:37:9: sparse: sparse: context imbalance in '__split_huge_page' - different lock contexts for basic block
@ 2021-02-05 18:00 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-02-05 18:00 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 5740 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Alex Shi <alex.shi@linux.alibaba.com>
CC: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux Memory Management List <linux-mm@kvack.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 61556703b610a104de324e4f061dc6cf7b218b46
commit: b6769834aac1d467fa1c71277d15688efcbb4d76 mm/thp: narrow lru locking
date: 7 weeks ago
:::::: branch date: 2 days ago
:::::: commit date: 7 weeks ago
config: arm64-randconfig-s032-20210205 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-215-g0fb77bb6-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b6769834aac1d467fa1c71277d15688efcbb4d76
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout b6769834aac1d467fa1c71277d15688efcbb4d76
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
"sparse warnings: (new ones prefixed by >>)"
mm/huge_memory.c:1640:20: sparse: sparse: context imbalance in 'madvise_free_huge_pmd' - unexpected unlock
mm/huge_memory.c:1677:28: sparse: sparse: context imbalance in 'zap_huge_pmd' - unexpected unlock
mm/huge_memory.c:1787:28: sparse: sparse: context imbalance in 'move_huge_pmd' - unexpected unlock
mm/huge_memory.c:1891:20: sparse: sparse: context imbalance in 'change_huge_pmd' - unexpected unlock
mm/huge_memory.c:1901:12: sparse: sparse: context imbalance in '__pmd_trans_huge_lock' - wrong count at exit
mm/huge_memory.c: note: in included file (through include/linux/irqflags.h, include/linux/spinlock.h, include/linux/mmzone.h, ...):
>> arch/arm64/include/asm/irqflags.h:37:9: sparse: sparse: context imbalance in '__split_huge_page' - different lock contexts for basic block
>> arch/arm64/include/asm/irqflags.h:37:9: sparse: sparse: context imbalance in 'split_huge_page_to_list' - different lock contexts for basic block
vim +/__split_huge_page +37 arch/arm64/include/asm/irqflags.h
fb9bd7d6df81dd Marc Zyngier 2012-03-05 12
65be7a1b799f11 James Morse 2017-11-02 13 /*
65be7a1b799f11 James Morse 2017-11-02 14 * Aarch64 has flags for masking: Debug, Asynchronous (serror), Interrupts and
65be7a1b799f11 James Morse 2017-11-02 15 * FIQ exceptions, in the 'daif' register. We mask and unmask them in 'dai'
65be7a1b799f11 James Morse 2017-11-02 16 * order:
65be7a1b799f11 James Morse 2017-11-02 17 * Masking debug exceptions causes all other exceptions to be masked too/
65be7a1b799f11 James Morse 2017-11-02 18 * Masking SError masks irq, but not debug exceptions. Masking irqs has no
65be7a1b799f11 James Morse 2017-11-02 19 * side effects for other flags. Keeping to this order makes it easier for
65be7a1b799f11 James Morse 2017-11-02 20 * entry.S to know which exceptions should be unmasked.
65be7a1b799f11 James Morse 2017-11-02 21 *
65be7a1b799f11 James Morse 2017-11-02 22 * FIQ is never expected, but we mask it when we disable debug exceptions, and
65be7a1b799f11 James Morse 2017-11-02 23 * unmask it at all other times.
65be7a1b799f11 James Morse 2017-11-02 24 */
65be7a1b799f11 James Morse 2017-11-02 25
fb9bd7d6df81dd Marc Zyngier 2012-03-05 26 /*
fb9bd7d6df81dd Marc Zyngier 2012-03-05 27 * CPU interrupt mask handling.
fb9bd7d6df81dd Marc Zyngier 2012-03-05 28 */
fb9bd7d6df81dd Marc Zyngier 2012-03-05 29 static inline void arch_local_irq_enable(void)
fb9bd7d6df81dd Marc Zyngier 2012-03-05 30 {
48ce8f80f5901f Julien Thierry 2019-06-11 31 if (system_has_prio_mask_debugging()) {
48ce8f80f5901f Julien Thierry 2019-06-11 32 u32 pmr = read_sysreg_s(SYS_ICC_PMR_EL1);
48ce8f80f5901f Julien Thierry 2019-06-11 33
48ce8f80f5901f Julien Thierry 2019-06-11 34 WARN_ON_ONCE(pmr != GIC_PRIO_IRQON && pmr != GIC_PRIO_IRQOFF);
48ce8f80f5901f Julien Thierry 2019-06-11 35 }
48ce8f80f5901f Julien Thierry 2019-06-11 36
4a503217ce37e1 Julien Thierry 2019-01-31 @37 asm volatile(ALTERNATIVE(
f226650494c6aa Marc Zyngier 2019-10-02 38 "msr daifclr, #2 // arch_local_irq_enable",
f226650494c6aa Marc Zyngier 2019-10-02 39 __msr_s(SYS_ICC_PMR_EL1, "%0"),
4a503217ce37e1 Julien Thierry 2019-01-31 40 ARM64_HAS_IRQ_PRIO_MASKING)
fb9bd7d6df81dd Marc Zyngier 2012-03-05 41 :
a80554fc36ba41 Julien Thierry 2019-02-08 42 : "r" ((unsigned long) GIC_PRIO_IRQON)
fb9bd7d6df81dd Marc Zyngier 2012-03-05 43 : "memory");
f226650494c6aa Marc Zyngier 2019-10-02 44
f226650494c6aa Marc Zyngier 2019-10-02 45 pmr_sync();
fb9bd7d6df81dd Marc Zyngier 2012-03-05 46 }
fb9bd7d6df81dd Marc Zyngier 2012-03-05 47
:::::: The code at line 37 was first introduced by commit
:::::: 4a503217ce37e1f4f3d9b681bbcbbac103776bf1 arm64: irqflags: Use ICC_PMR_EL1 for interrupt masking
:::::: TO: Julien Thierry <julien.thierry@arm.com>
:::::: CC: Catalin Marinas <catalin.marinas@arm.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 39687 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* arch/arm64/include/asm/irqflags.h:37:9: sparse: sparse: context imbalance in '__split_huge_page' - different lock contexts for basic block
@ 2021-07-02 20:17 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-07-02 20:17 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 5769 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Alex Shi <alex.shi@linux.alibaba.com>
CC: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux Memory Management List <linux-mm@kvack.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 3dbdb38e286903ec220aaf1fb29a8d94297da246
commit: b6769834aac1d467fa1c71277d15688efcbb4d76 mm/thp: narrow lru locking
date: 7 months ago
:::::: branch date: 20 hours ago
:::::: commit date: 7 months ago
config: arm64-randconfig-s032-20210702 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b6769834aac1d467fa1c71277d15688efcbb4d76
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout b6769834aac1d467fa1c71277d15688efcbb4d76
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
mm/huge_memory.c:1640:20: sparse: sparse: context imbalance in 'madvise_free_huge_pmd' - unexpected unlock
mm/huge_memory.c:1677:28: sparse: sparse: context imbalance in 'zap_huge_pmd' - unexpected unlock
mm/huge_memory.c:1787:28: sparse: sparse: context imbalance in 'move_huge_pmd' - unexpected unlock
mm/huge_memory.c:1891:20: sparse: sparse: context imbalance in 'change_huge_pmd' - unexpected unlock
mm/huge_memory.c:1901:12: sparse: sparse: context imbalance in '__pmd_trans_huge_lock' - wrong count at exit
mm/huge_memory.c: note: in included file (through include/linux/irqflags.h, include/linux/spinlock.h, include/linux/mmzone.h, ...):
>> arch/arm64/include/asm/irqflags.h:37:9: sparse: sparse: context imbalance in '__split_huge_page' - different lock contexts for basic block
arch/arm64/include/asm/irqflags.h:37:9: sparse: sparse: context imbalance in 'split_huge_page_to_list' - different lock contexts for basic block
vim +/__split_huge_page +37 arch/arm64/include/asm/irqflags.h
fb9bd7d6df81dd Marc Zyngier 2012-03-05 12
65be7a1b799f11 James Morse 2017-11-02 13 /*
65be7a1b799f11 James Morse 2017-11-02 14 * Aarch64 has flags for masking: Debug, Asynchronous (serror), Interrupts and
65be7a1b799f11 James Morse 2017-11-02 15 * FIQ exceptions, in the 'daif' register. We mask and unmask them in 'dai'
65be7a1b799f11 James Morse 2017-11-02 16 * order:
65be7a1b799f11 James Morse 2017-11-02 17 * Masking debug exceptions causes all other exceptions to be masked too/
65be7a1b799f11 James Morse 2017-11-02 18 * Masking SError masks irq, but not debug exceptions. Masking irqs has no
65be7a1b799f11 James Morse 2017-11-02 19 * side effects for other flags. Keeping to this order makes it easier for
65be7a1b799f11 James Morse 2017-11-02 20 * entry.S to know which exceptions should be unmasked.
65be7a1b799f11 James Morse 2017-11-02 21 *
65be7a1b799f11 James Morse 2017-11-02 22 * FIQ is never expected, but we mask it when we disable debug exceptions, and
65be7a1b799f11 James Morse 2017-11-02 23 * unmask it at all other times.
65be7a1b799f11 James Morse 2017-11-02 24 */
65be7a1b799f11 James Morse 2017-11-02 25
fb9bd7d6df81dd Marc Zyngier 2012-03-05 26 /*
fb9bd7d6df81dd Marc Zyngier 2012-03-05 27 * CPU interrupt mask handling.
fb9bd7d6df81dd Marc Zyngier 2012-03-05 28 */
fb9bd7d6df81dd Marc Zyngier 2012-03-05 29 static inline void arch_local_irq_enable(void)
fb9bd7d6df81dd Marc Zyngier 2012-03-05 30 {
48ce8f80f5901f Julien Thierry 2019-06-11 31 if (system_has_prio_mask_debugging()) {
48ce8f80f5901f Julien Thierry 2019-06-11 32 u32 pmr = read_sysreg_s(SYS_ICC_PMR_EL1);
48ce8f80f5901f Julien Thierry 2019-06-11 33
48ce8f80f5901f Julien Thierry 2019-06-11 34 WARN_ON_ONCE(pmr != GIC_PRIO_IRQON && pmr != GIC_PRIO_IRQOFF);
48ce8f80f5901f Julien Thierry 2019-06-11 35 }
48ce8f80f5901f Julien Thierry 2019-06-11 36
4a503217ce37e1 Julien Thierry 2019-01-31 @37 asm volatile(ALTERNATIVE(
f226650494c6aa Marc Zyngier 2019-10-02 38 "msr daifclr, #2 // arch_local_irq_enable",
f226650494c6aa Marc Zyngier 2019-10-02 39 __msr_s(SYS_ICC_PMR_EL1, "%0"),
4a503217ce37e1 Julien Thierry 2019-01-31 40 ARM64_HAS_IRQ_PRIO_MASKING)
fb9bd7d6df81dd Marc Zyngier 2012-03-05 41 :
a80554fc36ba41 Julien Thierry 2019-02-08 42 : "r" ((unsigned long) GIC_PRIO_IRQON)
fb9bd7d6df81dd Marc Zyngier 2012-03-05 43 : "memory");
f226650494c6aa Marc Zyngier 2019-10-02 44
f226650494c6aa Marc Zyngier 2019-10-02 45 pmr_sync();
fb9bd7d6df81dd Marc Zyngier 2012-03-05 46 }
fb9bd7d6df81dd Marc Zyngier 2012-03-05 47
:::::: The code at line 37 was first introduced by commit
:::::: 4a503217ce37e1f4f3d9b681bbcbbac103776bf1 arm64: irqflags: Use ICC_PMR_EL1 for interrupt masking
:::::: TO: Julien Thierry <julien.thierry@arm.com>
:::::: CC: Catalin Marinas <catalin.marinas@arm.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 37557 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-07-02 20:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-05 18:00 arch/arm64/include/asm/irqflags.h:37:9: sparse: sparse: context imbalance in '__split_huge_page' - different lock contexts for basic block kernel test robot
2021-07-02 20:17 kernel test robot
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.