On 10/3/18 7:38 AM, Lance Roy wrote: > lockdep_assert_held() is better suited to checking locking requirements, > since it won't get confused when someone else holds the lock. This is > also a step towards possibly removing spin_is_locked(). Agreed > Signed-off-by: Lance Roy <ldr709@xxxxxxxxx> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> > Cc: Yang Shi <yang.shi@xxxxxxxxxxxxxxxxx> > Cc: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx> > Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> > Cc: Vlastimil Babka <vbabka@xxxxxxx> > Cc: Jan Kara <jack@xxxxxxx> > Cc: Shakeel Butt <shakeelb@xxxxxxxxxx> > Cc: <linux-mm@xxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> > --- > mm/khugepaged.c | 4 ++-- > mm/swap.c | 3 +-- > 2 files changed, 3 insertions(+), 4 deletions(-) > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index a31d740e6cd1..80f12467ccb3 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -1225,7 +1225,7 @@ static void collect_mm_slot(struct mm_slot *mm_slot) > { > struct mm_struct *mm = mm_slot->mm; > > - VM_BUG_ON(NR_CPUS != 1 && !spin_is_locked(&khugepaged_mm_lock)); > + lockdep_assert_held(&khugepaged_mm_lock); > > if (khugepaged_test_exit(mm)) { > /* free mm_slot */ > @@ -1665,7 +1665,7 @@ static unsigned int khugepaged_scan_mm_slot(unsigned int pages, > int progress = 0; > > VM_BUG_ON(!pages); > - VM_BUG_ON(NR_CPUS != 1 && !spin_is_locked(&khugepaged_mm_lock)); > + lockdep_assert_held(&khugepaged_mm_lock); > > if (khugepaged_scan.mm_slot) > mm_slot = khugepaged_scan.mm_slot; > diff --git a/mm/swap.c b/mm/swap.c > index 26fc9b5f1b6c..c89eb442c0bf 100644 > --- a/mm/swap.c > +++ b/mm/swap.c > @@ -824,8 +824,7 @@ void lru_add_page_tail(struct page *page, struct page *page_tail, > VM_BUG_ON_PAGE(!PageHead(page), page); > VM_BUG_ON_PAGE(PageCompound(page_tail), page); > VM_BUG_ON_PAGE(PageLRU(page_tail), page); > - VM_BUG_ON(NR_CPUS != 1 && > - !spin_is_locked(&lruvec_pgdat(lruvec)->lru_lock)); > + lockdep_assert_held(&lruvec_pgdat(lruvec)->lru_lock); > > if (!list) > SetPageLRU(page_tail); >