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=-6.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=no 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 7D1E2C4742C for ; Tue, 3 Nov 2020 11:08:21 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id C0384223BF for ; Tue, 3 Nov 2020 11:08:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=shutemov-name.20150623.gappssmtp.com header.i=@shutemov-name.20150623.gappssmtp.com header.b="DDGsed/r" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C0384223BF Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=shutemov.name Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id D83DE6B0074; Tue, 3 Nov 2020 06:08:19 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D348C6B0075; Tue, 3 Nov 2020 06:08:19 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BFB556B007B; Tue, 3 Nov 2020 06:08:19 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0045.hostedemail.com [216.40.44.45]) by kanga.kvack.org (Postfix) with ESMTP id 90E7E6B0074 for ; Tue, 3 Nov 2020 06:08:19 -0500 (EST) Received: from smtpin13.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 1EB91181AC9CC for ; Tue, 3 Nov 2020 11:08:19 +0000 (UTC) X-FDA: 77442833118.13.fang05_110d4dd272b8 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin13.hostedemail.com (Postfix) with ESMTP id F277618140B67 for ; Tue, 3 Nov 2020 11:08:18 +0000 (UTC) X-HE-Tag: fang05_110d4dd272b8 X-Filterd-Recvd-Size: 5993 Received: from mail-lf1-f67.google.com (mail-lf1-f67.google.com [209.85.167.67]) by imf18.hostedemail.com (Postfix) with ESMTP for ; Tue, 3 Nov 2020 11:08:18 +0000 (UTC) Received: by mail-lf1-f67.google.com with SMTP id 184so21581905lfd.6 for ; Tue, 03 Nov 2020 03:08:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=shutemov-name.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=0sEXlBoxnDPWC0PSImx6b45EW/XdSxvl0dskuufPCkM=; b=DDGsed/rnR9bezm8l99j+eaiR9Ng8+VD49bJiK1NAcb13ryZua3eiHNJkEUJYM7q4q zCCEua4OxygsHhj1XVYFclEnvfs8dtk8HZUq1aa2fKeCC1ivOtLxqOefmDgSGp9oFlOr hAWnMoFYPcy6/inHtPYp6y+Ll+sbonCF0KjG6nyml+YxQJr6IbSjcrdNbOQkutO8NxkL FEkF/0STPopqzOAi1pVyuF642sMpo4gqoXWfJTZgyjNsKfE0QyHjFu93yXEkV6QK5fCs LXCWy6h56hyXQaKhqHUvZP6L632PtDIPp/Z07qwJ3b4T1YdUnIRaKCRJ/6v0LV3pGdBe QkXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=0sEXlBoxnDPWC0PSImx6b45EW/XdSxvl0dskuufPCkM=; b=MqF0F1fWd+yaom266UsbzJ5V/XCgRidnJ8ViVeWRHBIPYQSzmswx8EiD7yztFfMQ8q MYaF9Ak2MR4s02LkR9omNcHK1urCSvx6VDZBpMVJ+OSpeFkJJ7VrwIyaRaMQLBXVUqcb uzS9LLZLp9pDnLZ6hdWSJ2byLG6vnMiM7cxDk4gqG6hwYEbD2i18zg6/rwLOfhh97k1N ZC0Jd3lg8LRHx/BaBB1Zd4E9Wn4qeaJnJs9RexQqp//D1DwfbX1FJng0jLyJfP/jQBIt AYpMi1FVxU8wktwOpfSORxjIDVwTOxmg1g0Lqb10Ex4NWbAUG1A8Y2b4i+GH2nJRmJ6C XYBQ== X-Gm-Message-State: AOAM532Zp0DJWSxpvW92Igo1HtAIVVo4Wg0VDQrkft5zooUo090XkLIb 9lva0WIO/HuFHE2ba2h6O0wTkg== X-Google-Smtp-Source: ABdhPJzAyrukqGQuCxp2/NOEVoOC9ZkivmVdXf94z98OJ3dGsVtTaaSEH+8Z/YJLbxgkwYbzErDtUQ== X-Received: by 2002:a19:c187:: with SMTP id r129mr8047701lff.533.1604401696649; Tue, 03 Nov 2020 03:08:16 -0800 (PST) Received: from box.localdomain ([86.57.175.117]) by smtp.gmail.com with ESMTPSA id w9sm4094835ljh.95.2020.11.03.03.08.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Nov 2020 03:08:15 -0800 (PST) Received: by box.localdomain (Postfix, from userid 1000) id B845910231C; Tue, 3 Nov 2020 14:08:16 +0300 (+03) Date: Tue, 3 Nov 2020 14:08:16 +0300 From: "Kirill A. Shutemov" To: Mike Rapoport Cc: Andrew Morton , Albert Ou , Andy Lutomirski , Benjamin Herrenschmidt , Borislav Petkov , Catalin Marinas , Christian Borntraeger , Christoph Lameter , "David S. Miller" , Dave Hansen , David Hildenbrand , David Rientjes , "Edgecombe, Rick P" , "H. Peter Anvin" , Heiko Carstens , Ingo Molnar , Joonsoo Kim , Len Brown , Michael Ellerman , Mike Rapoport , Palmer Dabbelt , Paul Mackerras , Paul Walmsley , Pavel Machek , Pekka Enberg , Peter Zijlstra , "Rafael J. Wysocki" , Thomas Gleixner , Vasily Gorbik , Will Deacon , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-pm@vger.kernel.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org, x86@kernel.org, "Rafael J . Wysocki" Subject: Re: [PATCH v3 2/4] PM: hibernate: make direct map manipulations more explicit Message-ID: <20201103110816.t6a3ebtgcm7mfogy@box> References: <20201101170815.9795-1-rppt@kernel.org> <20201101170815.9795-3-rppt@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20201101170815.9795-3-rppt@kernel.org> 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: On Sun, Nov 01, 2020 at 07:08:13PM +0200, Mike Rapoport wrote: > diff --git a/kernel/power/snapshot.c b/kernel/power/snapshot.c > index 46b1804c1ddf..054c8cce4236 100644 > --- a/kernel/power/snapshot.c > +++ b/kernel/power/snapshot.c > @@ -76,6 +76,32 @@ static inline void hibernate_restore_protect_page(void *page_address) {} > static inline void hibernate_restore_unprotect_page(void *page_address) {} > #endif /* CONFIG_STRICT_KERNEL_RWX && CONFIG_ARCH_HAS_SET_MEMORY */ > > +static inline void hibernate_map_page(struct page *page, int enable) > +{ > + if (IS_ENABLED(CONFIG_ARCH_HAS_SET_DIRECT_MAP)) { > + unsigned long addr = (unsigned long)page_address(page); > + int ret; > + > + /* > + * This should not fail because remapping a page here means > + * that we only update protection bits in an existing PTE. > + * It is still worth to have WARN_ON() here if something > + * changes and this will no longer be the case. > + */ > + if (enable) > + ret = set_direct_map_default_noflush(page); > + else > + ret = set_direct_map_invalid_noflush(page); > + > + if (WARN_ON(ret)) _ONCE? > + return; > + > + flush_tlb_kernel_range(addr, addr + PAGE_SIZE); > + } else { > + debug_pagealloc_map_pages(page, 1, enable); > + } > +} > + > static int swsusp_page_is_free(struct page *); > static void swsusp_set_page_forbidden(struct page *); > static void swsusp_unset_page_forbidden(struct page *); -- Kirill A. Shutemov