From patchwork Wed Apr 29 03:26:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joonsoo Kim X-Patchwork-Id: 11515949 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EA90892A for ; Wed, 29 Apr 2020 03:27:17 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id B88C12083B for ; Wed, 29 Apr 2020 03:27:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XyaUIW/R" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B88C12083B 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 02BA98E0008; Tue, 28 Apr 2020 23:27:17 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 001EE8E0001; Tue, 28 Apr 2020 23:27:16 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E80E08E0008; Tue, 28 Apr 2020 23:27:16 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0093.hostedemail.com [216.40.44.93]) by kanga.kvack.org (Postfix) with ESMTP id D0EFD8E0001 for ; Tue, 28 Apr 2020 23:27:16 -0400 (EDT) Received: from smtpin23.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 7FE58180AD806 for ; Wed, 29 Apr 2020 03:27:16 +0000 (UTC) X-FDA: 76759456872.23.owner18_79afd2751fc57 X-Spam-Summary: 2,0,0,91efc9b4c7a6cb64,d41d8cd98f00b204,js1304@gmail.com,,RULES_HIT:41:355:379:541:800:960:966:973:988:989:1260:1345:1359:1437:1535:1541:1711:1730:1747:1777:1792:2194:2196:2199:2200:2393:2559:2562:2898:3138:3139:3140:3141:3142:3353:3865:3866:3867:3868:3870:3871:3872:3874:4321:4385:5007:6261:6653:6742:7576:7903:8957:9413:10004:11026:11638:11658:11914:12296:12297:12517:12519:12555:12679:12895:13053:13069:13161:13180:13229:13311:13357:13548:14096:14181:14384:14394:14721:14819:21080:21325:21444:21451:21627:21666:30054:30064:30070:30079,0,RBL:209.85.216.68:@gmail.com:.lbl8.mailshell.net-66.100.201.100 62.18.0.100,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fp,MSBL:0,DNSBL:neutral,Custom_rules:0:0:0,LFtime:24,LUA_SUMMARY:none X-HE-Tag: owner18_79afd2751fc57 X-Filterd-Recvd-Size: 5313 Received: from mail-pj1-f68.google.com (mail-pj1-f68.google.com [209.85.216.68]) by imf24.hostedemail.com (Postfix) with ESMTP for ; Wed, 29 Apr 2020 03:27:16 +0000 (UTC) Received: by mail-pj1-f68.google.com with SMTP id a32so211420pje.5 for ; Tue, 28 Apr 2020 20:27:16 -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=dDZ1MgpmhJ05Zf8jhPCyAD6OUKmqbz/zL2ik7cD9hVA=; b=XyaUIW/R1YgoWjppehedCHz7ersMbBGxynOYTQO4mdAbWylRcXcgm9rAc3l8H9jwTt Q0ZMYyVifmbLC3MrPLvU+d5sYUwjiOJHmD7InEFGJ3bb52c7d+Sz/vop+GDBx2SYmFcz 2b5PlQCKHq2H0QrFfDTDp/9IFPb+Vc/3mi3pvZQ1ouZ18g3z2esZ/UMf84WZphqQIIwG ujJqUEx2InMv4DESByAlMLJ7LVGRql3PDtdOu7dlIzaX4fjMTU+WQkkMJtyKKDRl7J/3 N9T1oTPbCGbF3BKNUcRPZR33JCrGfQyUHCB4AUurlaBxiC+ykJxPTyw2RHsrK7NTk+HW TH/w== 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=dDZ1MgpmhJ05Zf8jhPCyAD6OUKmqbz/zL2ik7cD9hVA=; b=CXyNeULm0vIwlwZWV0YHzjhEQyPoUGFvByROLkzGLzG4CpgoqwfYkYXD99CpWqi88+ RYS2vBF6ETGZ7eioaHu4KDNGnPFrNhRaH/6TtEjS93dL5nlQTJ9jWbijtG0SJiGNjg5A wwCtV8be96v+exSpw3UuybuZN0zCHG/HB0w2NWCDQFodJLVLkvjQuoKJ89oVilesAVNi vVKnpSDg2Ks/AuxW74iTH9/atCXvYc6t/DWxjMloPe6JyHBwyV1WBfYcGGurYXB3xyJ1 oLbCLi0DyTCpG+WsKhR1nY4Nt7opH2Sw9h/gPEKvKliGR+zJEbjeEGJxvVnEpaR5N3lm SZ3Q== X-Gm-Message-State: AGi0PuaBHtT6Ce2dPG5TCze496vcmCJ3YNeOmnJkV988h7MSSk5lo7Wi QYWRT/WLYCi+pf8rk61Ttdk= X-Google-Smtp-Source: APiQypIRlTvB9SPWsgtNua1iaxMRY446Rpmb6K2vJAYeZWRp53SGoJPF0UpH2ZcmKgC5V5cCmAXFxA== X-Received: by 2002:a17:90a:cb09:: with SMTP id z9mr754586pjt.120.1588130835256; Tue, 28 Apr 2020 20:27:15 -0700 (PDT) Received: from localhost.localdomain ([114.206.198.176]) by smtp.gmail.com with ESMTPSA id q11sm9559796pfl.97.2020.04.28.20.27.10 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Apr 2020 20:27:14 -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 03/10] kexec: separate PageHighMem() and PageHighMemZone() use case Date: Wed, 29 Apr 2020 12:26:36 +0900 Message-Id: <1588130803-20527-4-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 #2 for this patch. Acked-by: Roman Gushchin Signed-off-by: Joonsoo Kim Nacked-by: "Eric W. Biederman" --- kernel/kexec_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c index ba1d91e..33097b7 100644 --- a/kernel/kexec_core.c +++ b/kernel/kexec_core.c @@ -766,7 +766,7 @@ static struct page *kimage_alloc_page(struct kimage *image, * gfp_flags honor the ones passed in. */ if (!(gfp_mask & __GFP_HIGHMEM) && - PageHighMem(old_page)) { + PageHighMemZone(old_page)) { kimage_free_pages(old_page); continue; }