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=-9.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, 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 88EACC2BA16 for ; Wed, 8 Apr 2020 15:02:07 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 4219A206C0 for ; Wed, 8 Apr 2020 15:02:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="UhqmhuXf" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4219A206C0 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 329AA8E0019; Wed, 8 Apr 2020 11:01:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1933F8E000D; Wed, 8 Apr 2020 11:01:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F2AE58E0019; Wed, 8 Apr 2020 11:01:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0212.hostedemail.com [216.40.44.212]) by kanga.kvack.org (Postfix) with ESMTP id C83618E000D for ; Wed, 8 Apr 2020 11:01:54 -0400 (EDT) Received: from smtpin11.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 80B74180AD81F for ; Wed, 8 Apr 2020 15:01:54 +0000 (UTC) X-FDA: 76685002548.11.act22_1096d58aa131c X-HE-Tag: act22_1096d58aa131c X-Filterd-Recvd-Size: 5089 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf19.hostedemail.com (Postfix) with ESMTP for ; Wed, 8 Apr 2020 15:01:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=En0GFjlthaAw3JipK2GO3BaiiH8y9IXZyBkZBz2qJeo=; b=UhqmhuXfaS80+z3EcHcNqK0rBw hyjDODWgI6481lCyZh3LO0SSsenDXr0p170/wFPibDRXqCSAWhgDgKGwIW7Naa6z4mofQ5pDbogZi hLhQgzbb/EzsGNeOfnxriC6mP1kWd36EAEzp+IPdq5Nvu3kQR8mqMzqjfrzX163NNu/mC/DFG21cE Z9eP6i/FetHJtZb5Xrc4ExSokuTIQUcsH0dw6+MtJGEwuIweJlGzwrF25lbAXpe6nEuDckmMgJWXe 9B0V2nguZIvuKMcGjHyGy2rROT9vLMb+jtq4w+fiONLiSFKvV6O91iaUFkSVdV5Di8sZd37dsE8MU G5MqsSfw==; Received: from willy by bombadil.infradead.org with local (Exim 4.92.3 #3 (Red Hat Linux)) id 1jMCD8-0006bA-5b; Wed, 08 Apr 2020 15:01:50 +0000 From: Matthew Wilcox To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" , kirill.shutemov@linux.intel.com, pasha.tatashin@soleen.com Subject: [PATCH 2/5] mm: Rename PF_POISONED_PAGE to page_poison_check Date: Wed, 8 Apr 2020 08:01:45 -0700 Message-Id: <20200408150148.25290-3-willy@infradead.org> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20200408150148.25290-1-willy@infradead.org> References: <20200408150148.25290-1-willy@infradead.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: From: "Matthew Wilcox (Oracle)" The PF_POISONED_PAGE name is misleading because it's not a page flag policy. Switch from VM_BUG_ON_PGFLAGS to VM_BUG_ON_PAGE. Move the implementation further up in the file for the benefit of future patches. Signed-off-by: Matthew Wilcox (Oracle) --- include/linux/mm.h | 2 +- include/linux/page-flags.h | 34 +++++++++++++++++----------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 61aa63449e7e..933450bdcfd4 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1248,7 +1248,7 @@ static inline int page_to_nid(const struct page *pa= ge) { struct page *p =3D (struct page *)page; =20 - return (PF_POISONED_CHECK(p)->flags >> NODES_PGSHIFT) & NODES_MASK; + return (page_poison_check(p)->flags >> NODES_PGSHIFT) & NODES_MASK; } #endif =20 diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index f1ab1f2e6aba..331aef35f3e0 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -175,6 +175,18 @@ enum pageflags { =20 #ifndef __GENERATING_BOUNDS_H =20 +#define PAGE_POISON_PATTERN -1l +static inline int PagePoisoned(const struct page *page) +{ + return page->flags =3D=3D PAGE_POISON_PATTERN; +} + +#define page_poison_check(page) ({ \ + __typeof__(page) ___page =3D page; \ + VM_BUG_ON_PAGE(PagePoisoned(___page), ___page); \ + ___page; \ +}) + #define compound_head(page) ({ \ __typeof__(page) _page =3D page; \ unsigned long head =3D READ_ONCE(_page->compound_head); \ @@ -193,12 +205,6 @@ static __always_inline int PageCompound(const struct= page *page) return test_bit(PG_head, &page->flags) || PageTail(page); } =20 -#define PAGE_POISON_PATTERN -1l -static inline int PagePoisoned(const struct page *page) -{ - return page->flags =3D=3D PAGE_POISON_PATTERN; -} - #ifdef CONFIG_DEBUG_VM void page_init_poison(struct page *page, size_t size); #else @@ -210,9 +216,6 @@ static inline void page_init_poison(struct page *page= , size_t size) /* * Page flags policies wrt compound pages * - * PF_POISONED_CHECK - * check if this struct page poisoned/uninitialized - * * PF_ANY: * the page flag is relevant for small, head and tail pages. * @@ -230,20 +233,17 @@ static inline void page_init_poison(struct page *pa= ge, size_t size) * PF_NO_COMPOUND: * the page flag is not relevant for compound pages. */ -#define PF_POISONED_CHECK(page) ({ \ - VM_BUG_ON_PGFLAGS(PagePoisoned(page), page); \ - page; }) -#define PF_ANY(page, enforce) PF_POISONED_CHECK(page) -#define PF_HEAD(page, enforce) PF_POISONED_CHECK(compound_head(page)) +#define PF_ANY(page, enforce) page_poison_check(page) +#define PF_HEAD(page, enforce) page_poison_check(compound_head(page)) #define PF_ONLY_HEAD(page, enforce) ({ \ VM_BUG_ON_PGFLAGS(PageTail(page), page); \ - PF_POISONED_CHECK(page); }) + page_poison_check(page); }) #define PF_NO_TAIL(page, enforce) ({ \ VM_BUG_ON_PGFLAGS(enforce && PageTail(page), page); \ - PF_POISONED_CHECK(compound_head(page)); }) + page_poison_check(compound_head(page)); }) #define PF_NO_COMPOUND(page, enforce) ({ \ VM_BUG_ON_PGFLAGS(enforce && PageCompound(page), page); \ - PF_POISONED_CHECK(page); }) + page_poison_check(page); }) =20 /* * Macros to create function definitions for page flags --=20 2.25.1