Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp150335ybz; Tue, 28 Apr 2020 20:29:59 -0700 (PDT) X-Google-Smtp-Source: APiQypIZit8rDoS3qSO3Zv8IMcTnMWB2fBAmnPzGNHMdG3fgOSLe8rNcJNADBV5lLYSm4jiryJKk X-Received: by 2002:a05:6402:1ad0:: with SMTP id ba16mr776739edb.11.1588130999823; Tue, 28 Apr 2020 20:29:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588130999; cv=none; d=google.com; s=arc-20160816; b=J6JKs+uk9yiTeNHVgFfZRRx3mfr54gqNx6W17uTNmo2SMfHF51tKp/Kaa8YI8saFzE pkoP3F7MlXVChlDnRxBNTIo7scAq4EcMZfW2XbZqhOCnJ+qK4HU6JTYFEmwanucMZtwE tIPewl4PbABLG1RL0Gbh1VGzy0PYL11OdvsA9u3cn1Icrf4hkIEmQ5aMad79vbWBQL2i bVp6PqrvJNrlJGs44SAIAkW7bPk4T4qF58+sBfbnyzk1n1pt1MqTIdaVnqK/obyKsqCm Yy1TmeGRGKx0Gy2H6sR9ZQ4jvk4UJ29Wzh7owYH/TOl8PyWVWUWNSYpEOp46cHUSl7+4 7v1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=JcqYhJSvA4X5ViJ5goqbeTTWp8Y5g5DbmVru2JNvJmM=; b=gui7FvJpb07fIMneKzORD9HEviLR+fVX4R07SjzxcH181HdOljR4jI4qCVnB9ad/Tn P2xgQDqum5uGx6+lIlWk1bQxxUegX4mLeaNM1LT8oWYdbve1PFUm5QCNeffpuVTqTUuK GHV0ifZOQeZKfH5Ek9puCPhoVPsYRb8uzrcokfG/lQmYGyOxdU8VdVOL3T2zQm3tU7pA iREfv5zlyKIDTzHPkAsuYEP0tNXJT2N/6FqkkE1J6qeWSxsIhpQchCixysKOw24miH7d YUH6fpsTdhBS9dX+THBfA++oComeDv8Hhm2/J3OhUfjIXiDF9zjY1FCUD+IEHBZbxxRN YW3g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=dHGQTgST; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ox27si2986053ejb.128.2020.04.28.20.29.37; Tue, 28 Apr 2020 20:29:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=dHGQTgST; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726785AbgD2D1g (ORCPT + 99 others); Tue, 28 Apr 2020 23:27:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42742 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726508AbgD2D1f (ORCPT ); Tue, 28 Apr 2020 23:27:35 -0400 Received: from mail-pf1-x442.google.com (mail-pf1-x442.google.com [IPv6:2607:f8b0:4864:20::442]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7F37DC03C1AC for ; Tue, 28 Apr 2020 20:27:35 -0700 (PDT) Received: by mail-pf1-x442.google.com with SMTP id 18so429246pfx.6 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=PH97h403dFie2iESBF2bqtRi0A3SLQPnuS2dsTA3tA4qBnm4f4Fler+Aie65/S3uJv LRW8RXnWALrthQXPkzoN6Yd+OT1SxRnoPX/QdM5PTY0n/eU5b0TfRz34TZRdxUL4X/3R QL066h0jaYxZxOopksTYDIuBrShK1zEHslR1MX94cQz45jplXbDAFm+tmHykTKvAOTkD PtIclmrlwyaII4qUgWmyUrSdO5gH9aN7aWkN/N04LpJDaXVsmAP3t33up3q3IN0fs41I kdS73nXQm97FcaDg9BBa/2ute49ktdhx1LvsP6KD03deLd1uEpLEWZm/TeGhI3emG0SN Ffeg== X-Gm-Message-State: AGi0PuZdSczpOsQ9OzH+32ZEZ6YFmIB1yN2xZ+LHZbJLzV0kOugBaEgd evU9X1S51ZO/5W8vJy4+XRQ= 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> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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