All of lore.kernel.org
 help / color / mirror / Atom feed
From: Minchan Kim <minchan@kernel.org>
To: kbuild test robot <fengguang.wu@intel.com>
Cc: kbuild-all@01.org, Johannes Weiner <hannes@cmpxchg.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linux Memory Management List <linux-mm@kvack.org>,
	Jeremy Fitzhardinge <jeremy@xensource.com>,
	Ingo Molnar <mingo@kernel.org>,
	Andrea Arcangeli <aarcange@redhat.com>
Subject: Re: [mmotm:master 181/397] arch/x86/include/asm/paravirt.h:534:17: sparse: context imbalance in 'madvise_free_huge_pmd' - unexpected unlock
Date: Mon, 1 Dec 2014 10:48:56 +0900	[thread overview]
Message-ID: <20141201014856.GE11340@bbox> (raw)
In-Reply-To: <201411280201.xezjOjT0%fengguang.wu@intel.com>

Thanks, kbuild test robot!

I don't see any unpxpected unlock in madv_free code path.
It just used page table handling functions.
Cced more people related to paravirt pmd handling.

On Fri, Nov 28, 2014 at 02:08:06AM +0800, kbuild test robot wrote:
> tree:   git://git.cmpxchg.org/linux-mmotm.git master
> head:   a2d887dee78e23dc092ff14ae2ad22592437a328
> commit: ee010684ca66feef309e267f9a47a8cb9b6eb2e3 [181/397] mm: don't split THP page when syscall is called
> reproduce:
>   # apt-get install sparse
>   git checkout ee010684ca66feef309e267f9a47a8cb9b6eb2e3
>   make ARCH=x86_64 allmodconfig
>   make C=1 CF=-D__CHECK_ENDIAN__
> 
> 
> sparse warnings: (new ones prefixed by >>)
> 
> >> arch/x86/include/asm/paravirt.h:534:17: sparse: context imbalance in 'madvise_free_huge_pmd' - unexpected unlock
>    mm/huge_memory.c:1436:40: sparse: context imbalance in 'zap_huge_pmd' - unexpected unlock
>    mm/huge_memory.c:1467:28: sparse: context imbalance in 'mincore_huge_pmd' - unexpected unlock
>    mm/huge_memory.c:1521:28: sparse: context imbalance in 'move_huge_pmd' - unexpected unlock
>    mm/huge_memory.c:1566:28: sparse: context imbalance in 'change_huge_pmd' - unexpected unlock
>    mm/huge_memory.c:1579:5: sparse: context imbalance in '__pmd_trans_huge_lock' - different lock contexts for basic block
>    mm/huge_memory.c:1606:7: sparse: context imbalance in 'page_check_address_pmd' - different lock contexts for basic block
>    mm/huge_memory.c:1680:17: sparse: context imbalance in '__split_huge_page_splitting' - unexpected unlock
>    arch/x86/include/asm/paravirt.h:545:17: sparse: context imbalance in '__split_huge_page_map' - unexpected unlock
> 
> vim +/madvise_free_huge_pmd +534 arch/x86/include/asm/paravirt.h
> 
> 4eed80cd include/asm-x86/paravirt.h      Jeremy Fitzhardinge 2008-01-30  518  			      pte_t *ptep, pte_t pte)
> 4eed80cd include/asm-x86/paravirt.h      Jeremy Fitzhardinge 2008-01-30  519  {
> 4eed80cd include/asm-x86/paravirt.h      Jeremy Fitzhardinge 2008-01-30  520  	if (sizeof(pteval_t) > sizeof(long))
> 4eed80cd include/asm-x86/paravirt.h      Jeremy Fitzhardinge 2008-01-30  521  		/* 5 arg words */
> 4eed80cd include/asm-x86/paravirt.h      Jeremy Fitzhardinge 2008-01-30  522  		pv_mmu_ops.set_pte_at(mm, addr, ptep, pte);
> 4eed80cd include/asm-x86/paravirt.h      Jeremy Fitzhardinge 2008-01-30  523  	else
> 4eed80cd include/asm-x86/paravirt.h      Jeremy Fitzhardinge 2008-01-30  524  		PVOP_VCALL4(pv_mmu_ops.set_pte_at, mm, addr, ptep, pte.pte);
> 4eed80cd include/asm-x86/paravirt.h      Jeremy Fitzhardinge 2008-01-30  525  }
> 4eed80cd include/asm-x86/paravirt.h      Jeremy Fitzhardinge 2008-01-30  526  
> 331127f7 arch/x86/include/asm/paravirt.h Andrea Arcangeli    2011-01-13  527  static inline void set_pmd_at(struct mm_struct *mm, unsigned long addr,
> 331127f7 arch/x86/include/asm/paravirt.h Andrea Arcangeli    2011-01-13  528  			      pmd_t *pmdp, pmd_t pmd)
> 331127f7 arch/x86/include/asm/paravirt.h Andrea Arcangeli    2011-01-13  529  {
> 331127f7 arch/x86/include/asm/paravirt.h Andrea Arcangeli    2011-01-13  530  	if (sizeof(pmdval_t) > sizeof(long))
> 331127f7 arch/x86/include/asm/paravirt.h Andrea Arcangeli    2011-01-13  531  		/* 5 arg words */
> 331127f7 arch/x86/include/asm/paravirt.h Andrea Arcangeli    2011-01-13  532  		pv_mmu_ops.set_pmd_at(mm, addr, pmdp, pmd);
> 331127f7 arch/x86/include/asm/paravirt.h Andrea Arcangeli    2011-01-13  533  	else
> cacf061c arch/x86/include/asm/paravirt.h Andrea Arcangeli    2011-01-25 @534  		PVOP_VCALL4(pv_mmu_ops.set_pmd_at, mm, addr, pmdp,
> cacf061c arch/x86/include/asm/paravirt.h Andrea Arcangeli    2011-01-25  535  			    native_pmd_val(pmd));
> 331127f7 arch/x86/include/asm/paravirt.h Andrea Arcangeli    2011-01-13  536  }
> 331127f7 arch/x86/include/asm/paravirt.h Andrea Arcangeli    2011-01-13  537  
> 60b3f626 include/asm-x86/paravirt.h      Jeremy Fitzhardinge 2008-01-30  538  static inline void set_pmd(pmd_t *pmdp, pmd_t pmd)
> 60b3f626 include/asm-x86/paravirt.h      Jeremy Fitzhardinge 2008-01-30  539  {
> 60b3f626 include/asm-x86/paravirt.h      Jeremy Fitzhardinge 2008-01-30  540  	pmdval_t val = native_pmd_val(pmd);
> 60b3f626 include/asm-x86/paravirt.h      Jeremy Fitzhardinge 2008-01-30  541  
> 60b3f626 include/asm-x86/paravirt.h      Jeremy Fitzhardinge 2008-01-30  542  	if (sizeof(pmdval_t) > sizeof(long))
> 
> :::::: The code at line 534 was first introduced by commit
> :::::: cacf061c5e42a040200463afccd9178ace680322 thp: fix PARAVIRT x86 32bit noPAE
> 
> :::::: TO: Andrea Arcangeli <aarcange@redhat.com>
> :::::: CC: Linus Torvalds <torvalds@linux-foundation.org>
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> http://lists.01.org/mailman/listinfo/kbuild                 Intel Corporation
> 
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@kvack.org.  For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

-- 
Kind regards,
Minchan Kim

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

      reply	other threads:[~2014-12-01  1:48 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-27 18:08 [mmotm:master 181/397] arch/x86/include/asm/paravirt.h:534:17: sparse: context imbalance in 'madvise_free_huge_pmd' - unexpected unlock kbuild test robot
2014-12-01  1:48 ` Minchan Kim [this message]

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=20141201014856.GE11340@bbox \
    --to=minchan@kernel.org \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=fengguang.wu@intel.com \
    --cc=hannes@cmpxchg.org \
    --cc=jeremy@xensource.com \
    --cc=kbuild-all@01.org \
    --cc=linux-mm@kvack.org \
    --cc=mingo@kernel.org \
    /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.