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_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, 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 67EF0C83001 for ; Wed, 29 Apr 2020 03:27:37 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 28FD22068E for ; Wed, 29 Apr 2020 03:27:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dHGQTgST" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 28FD22068E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id CD3F08E000C; Tue, 28 Apr 2020 23:27:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CABB28E0001; Tue, 28 Apr 2020 23:27:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BE8D38E000C; Tue, 28 Apr 2020 23:27:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0057.hostedemail.com [216.40.44.57]) by kanga.kvack.org (Postfix) with ESMTP id A81DA8E0001 for ; Tue, 28 Apr 2020 23:27:36 -0400 (EDT) Received: from smtpin01.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 655B0824999B for ; Wed, 29 Apr 2020 03:27:36 +0000 (UTC) X-FDA: 76759457712.01.spoon29_7c940894d051b X-HE-Tag: spoon29_7c940894d051b X-Filterd-Recvd-Size: 5754 Received: from mail-pf1-f193.google.com (mail-pf1-f193.google.com [209.85.210.193]) by imf14.hostedemail.com (Postfix) with ESMTP for ; Wed, 29 Apr 2020 03:27:35 +0000 (UTC) Received: by mail-pf1-f193.google.com with SMTP id r14so443695pfg.2 for ; Tue, 28 Apr 2020 20:27:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=JcqYhJSvA4X5ViJ5goqbeTTWp8Y5g5DbmVru2JNvJmM=; b=dHGQTgST4T/TIqKzXeO1Lte1bWF1Sn8daJICVO/jnep/VSjF93foldTAiudSwZd4M4 DsevD5RNclIkEf8EaePx82k+CvnKdkwXbmro/CUQyPcGq/mc3Wp0BN7gWGpgFEAP3IQP l+LEP7P0xuKWDNSW5UcGWFnxK/GxZ7cYrtp4gFOeEicD7Q2W72WSJIELL0WC6wcMaOub dOTkdrNdbRsrqXgRitrmKzgdF3oCZobjw1Pe1HpHjAFUHKq6MBTUQipMTLAA+4gFhUPq 5ItG7NGS1KeceRJV6kEml4XfHRazM3PnRMTnzDd3fP7UX3r3Y3ejZtTmbW3a+oa61aDa L0Ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=JcqYhJSvA4X5ViJ5goqbeTTWp8Y5g5DbmVru2JNvJmM=; b=H9kBFrMCTi3K8lCsFqemfFEXWQiegsbc/VYkxpXeoynyjlwkDJQWigMADMChrMhdD0 RGz7fA6+K6OTIcG2vkbGztEaWSi6tW3F0QLbvbfOCEF1SwPzcD1wA84fkXlsmsRRYaVQ odTqyaBQQbWQCJOWyC8GW8rpUub2tdg7e9UjWAhB45e23gOiIGdT5QRs7kslHu832pZY TR8Hr+EHYFbOlHlj0KCc67o1xsiIfZuZkt47uhQBwhi+cT38wASN7r1jFtiqwuRBZMKU Ex84m1iIZHTzcg9Tje8JVnVlPD7OmFgNQL49PNVxt+z4uPrifXZm03dd8Kp6dZXXXTLx 7vwA== X-Gm-Message-State: AGi0PuZaBttkIMViWhfxgKH9T+Zy4i6TIG0C2gtraEWyfoKzqr/kwrSR rs5MvGW/MvV2a6SzFZe78aM= X-Google-Smtp-Source: APiQypJvFpozove4ZkEvpi5UVfGHd8oJpvNm4lin405Dltd2Ts33exbfBSDpzHd66pfNS2AIZ90rDA== X-Received: by 2002:a65:5947:: with SMTP id g7mr31093218pgu.258.1588130854997; Tue, 28 Apr 2020 20:27:34 -0700 (PDT) Received: from localhost.localdomain ([114.206.198.176]) by smtp.gmail.com with ESMTPSA id q11sm9559796pfl.97.2020.04.28.20.27.30 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Apr 2020 20:27:34 -0700 (PDT) From: js1304@gmail.com X-Google-Original-From: iamjoonsoo.kim@lge.com To: Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Vlastimil Babka , Laura Abbott , "Aneesh Kumar K . V" , Mel Gorman , Michal Hocko , Johannes Weiner , Roman Gushchin , Minchan Kim , Rik van Riel , Christian Koenig , Huang Rui , Eric Biederman , "Rafael J . Wysocki" , Pavel Machek , kernel-team@lge.com, Christoph Hellwig , Joonsoo Kim Subject: [PATCH v2 07/10] mm: separate PageHighMem() and PageHighMemZone() use case Date: Wed, 29 Apr 2020 12:26:40 +0900 Message-Id: <1588130803-20527-8-git-send-email-iamjoonsoo.kim@lge.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1588130803-20527-1-git-send-email-iamjoonsoo.kim@lge.com> References: <1588130803-20527-1-git-send-email-iamjoonsoo.kim@lge.com> 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: Joonsoo Kim Until now, PageHighMem() is used for two different cases. One is to check if there is a direct mapping for this page or not. The other is to check the zone of this page, that is, weather it is the highmem type zone or not. Now, we have separate functions, PageHighMem() and PageHighMemZone() for each cases. Use appropriate one. Note that there are some rules to determine the proper macro. 1. If PageHighMem() is called for checking if the direct mapping exists or not, use PageHighMem(). 2. If PageHighMem() is used to predict the previous gfp_flags for this page, use PageHighMemZone(). The zone of the page is related to the gfp_flags. 3. If purpose of calling PageHighMem() is to count highmem page and to interact with the system by using this count, use PageHighMemZone(). This counter is usually used to calculate the available memory for an kernel allocation and pages on the highmem zone cannot be available for an kernel allocation. 4. Otherwise, use PageHighMemZone(). It's safe since it's implementation is just copy of the previous PageHighMem() implementation and won't be changed. I apply the rule #3 for this patch. Acked-by: Roman Gushchin Signed-off-by: Joonsoo Kim --- mm/memory_hotplug.c | 2 +- mm/page_alloc.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index 555137b..891c214 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -593,7 +593,7 @@ void generic_online_page(struct page *page, unsigned int order) __free_pages_core(page, order); totalram_pages_add(1UL << order); #ifdef CONFIG_HIGHMEM - if (PageHighMem(page)) + if (PageHighMemZone(page)) totalhigh_pages_add(1UL << order); #endif } diff --git a/mm/page_alloc.c b/mm/page_alloc.c index fc5919e..7fe5115 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -7444,7 +7444,7 @@ void adjust_managed_page_count(struct page *page, long count) atomic_long_add(count, &page_zone(page)->managed_pages); totalram_pages_add(count); #ifdef CONFIG_HIGHMEM - if (PageHighMem(page)) + if (PageHighMemZone(page)) totalhigh_pages_add(count); #endif } -- 2.7.4