From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.5 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3467BC4361B for ; Mon, 7 Dec 2020 22:10:25 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id BB1DC2395A for ; Mon, 7 Dec 2020 22:10:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BB1DC2395A Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 2C7B48D000F; Mon, 7 Dec 2020 17:10:17 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1FFF68D0010; Mon, 7 Dec 2020 17:10:17 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C37C8D000F; Mon, 7 Dec 2020 17:10:17 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0225.hostedemail.com [216.40.44.225]) by kanga.kvack.org (Postfix) with ESMTP id EA6028D000A for ; Mon, 7 Dec 2020 17:10:16 -0500 (EST) Received: from smtpin01.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id A7D981EE6 for ; Mon, 7 Dec 2020 22:10:16 +0000 (UTC) X-FDA: 77567880432.01.home63_3506ef9273e1 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin01.hostedemail.com (Postfix) with ESMTP id 66BB31004AF99 for ; Mon, 7 Dec 2020 22:10:15 +0000 (UTC) X-HE-Tag: home63_3506ef9273e1 X-Filterd-Recvd-Size: 5278 Received: from mail-yb1-f201.google.com (mail-yb1-f201.google.com [209.85.219.201]) by imf13.hostedemail.com (Postfix) with ESMTP for ; Mon, 7 Dec 2020 22:10:10 +0000 (UTC) Received: by mail-yb1-f201.google.com with SMTP id h75so4554454ybg.18 for ; Mon, 07 Dec 2020 14:10:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=sender:date:in-reply-to:message-id:mime-version:references:subject :from:to:cc; bh=NPIJCrwWnwAzgQ2Qn9Zjmyj37pTsRc+tAPAwXdBwjQM=; b=JkwUTYvRknielhHc5S+DwhqhSrdC1vNFwohjSYPIXJdWfzrFUgg1chCp+rkY8bCcan AxGxOZ2Sk6lSPeJsAlcYMdBeQWBJtLI9ZDMIbLNi0j5gT17OrWUJ9EXZ2ENjvDZOmjOx aQr9gwgfoZ9OvNocI0K+W26Rr+V/93XvsAWJUoKNbSfhrPVTmH0tRKXAXvpbD2dT3WTB /lyQVWAaCN1A+OveyrGUarqC9D48ZmqQ6ubOKuVQTZEOINclgwHL/GIAJC9ZOdSFbHKC 3yLHjhseb44m19eInYtUvdaXj+IRiTycoM87Xul6XMMEzC8VnFaFwZfsFhslTQSDeTzU IxLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=NPIJCrwWnwAzgQ2Qn9Zjmyj37pTsRc+tAPAwXdBwjQM=; b=AXcvMmRLCHZ1KgFnAAmESdWHgcqvlFxLdvpwc4kppmkDU2D7dKDqGIVilXTxmzMXWX rfd5G0ssLrr4eVW3JlTdA/vd5TWIbagbGL4k5krBvblhG56CgfAt4bsyBu/1qZ1L0g00 1ummWTIY1yzwmeaHFQXe1RIyeNs4e+WcGwDcp9Qs0sy61yfo4wGmETmdWGf9US/bj/4T vqCIseTDlCAkuvcE8E6bSBLmYn5cHDWW2RYHCa1XIoCxUMn+L/n3XRVUu//q8vyBKnQO bCf4A0m4m6u8GpxWmG6osUEIxey9UmE0Ek1IHvtBjxZD1v2sl/g1volBbDTi0AncGVqL SDMQ== X-Gm-Message-State: AOAM533MDHukvaAxKlbbJRTFf1QTc3ViKy3JDRGNy3J1rwFJe2NbTlun vvCL02ltbMCiy+REmrRfxFJJPsLm9Jc= X-Google-Smtp-Source: ABdhPJzlYqmdnXQI26Kw5mDt0tCjeHnOs8eVNmrbUZukm+ES7uDZ71CL+xtBFkBA1yiOLpj65GPnWe8zu8w= X-Received: from yuzhao.bld.corp.google.com ([2620:15c:183:200:7220:84ff:fe09:2d90]) (user=yuzhao job=sendgmr) by 2002:a25:8446:: with SMTP id r6mr24209537ybm.442.1607379010197; Mon, 07 Dec 2020 14:10:10 -0800 (PST) Date: Mon, 7 Dec 2020 15:09:45 -0700 In-Reply-To: <20201207220949.830352-1-yuzhao@google.com> Message-Id: <20201207220949.830352-8-yuzhao@google.com> Mime-Version: 1.0 References: <20201207220949.830352-1-yuzhao@google.com> X-Mailer: git-send-email 2.29.2.576.ga3fc446d84-goog Subject: [PATCH 07/11] mm: VM_BUG_ON lru page flags From: Yu Zhao To: Andrew Morton , Hugh Dickins , Alex Shi Cc: Michal Hocko , Johannes Weiner , Vladimir Davydov , Roman Gushchin , Vlastimil Babka , Matthew Wilcox , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Yu Zhao Content-Type: text/plain; charset="UTF-8" X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Move scattered VM_BUG_ONs to two essential places that cover all lru list additions and deletions. Signed-off-by: Yu Zhao --- include/linux/mm_inline.h | 4 ++++ mm/swap.c | 2 -- mm/vmscan.c | 1 - 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/include/linux/mm_inline.h b/include/linux/mm_inline.h index ef3fd79222e5..6d907a4dd6ad 100644 --- a/include/linux/mm_inline.h +++ b/include/linux/mm_inline.h @@ -66,6 +66,8 @@ static inline enum lru_list page_lru_base_type(struct page *page) */ static __always_inline void __clear_page_lru_flags(struct page *page) { + VM_BUG_ON_PAGE(!PageLRU(page), page); + __ClearPageLRU(page); /* this shouldn't happen, so leave the flags to bad_page() */ @@ -87,6 +89,8 @@ static __always_inline enum lru_list page_lru(struct page *page) { enum lru_list lru; + VM_BUG_ON_PAGE(PageActive(page) && PageUnevictable(page), page); + if (PageUnevictable(page)) lru = LRU_UNEVICTABLE; else { diff --git a/mm/swap.c b/mm/swap.c index a37c896a32b0..09c4a48e0bcd 100644 --- a/mm/swap.c +++ b/mm/swap.c @@ -83,7 +83,6 @@ static void __page_cache_release(struct page *page) unsigned long flags; lruvec = lock_page_lruvec_irqsave(page, &flags); - VM_BUG_ON_PAGE(!PageLRU(page), page); del_page_from_lru_list(page, lruvec); __clear_page_lru_flags(page); unlock_page_lruvec_irqrestore(lruvec, flags); @@ -909,7 +908,6 @@ void release_pages(struct page **pages, int nr) if (prev_lruvec != lruvec) lock_batch = 0; - VM_BUG_ON_PAGE(!PageLRU(page), page); del_page_from_lru_list(page, lruvec); __clear_page_lru_flags(page); } diff --git a/mm/vmscan.c b/mm/vmscan.c index e6bdfdfa2da1..95e581c9d9af 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -4279,7 +4279,6 @@ void check_move_unevictable_pages(struct pagevec *pvec) lruvec = relock_page_lruvec_irq(page, lruvec); if (page_evictable(page) && PageUnevictable(page)) { - VM_BUG_ON_PAGE(PageActive(page), page); del_page_from_lru_list(page, lruvec); ClearPageUnevictable(page); add_page_to_lru_list(page, lruvec); -- 2.29.2.576.ga3fc446d84-goog