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.8 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,URIBL_BLOCKED,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 4C28EC433DF for ; Tue, 7 Jul 2020 07:45:29 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 0DE1620708 for ; Tue, 7 Jul 2020 07:45:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bCudhXV2" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0DE1620708 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 AA71D6B0078; Tue, 7 Jul 2020 03:45:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A7BD26B007B; Tue, 7 Jul 2020 03:45:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9490E6B007D; Tue, 7 Jul 2020 03:45:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0196.hostedemail.com [216.40.44.196]) by kanga.kvack.org (Postfix) with ESMTP id 78F936B0078 for ; Tue, 7 Jul 2020 03:45:28 -0400 (EDT) Received: from smtpin03.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 411028248068 for ; Tue, 7 Jul 2020 07:45:28 +0000 (UTC) X-FDA: 77010494736.03.tooth18_170e7a826eb2 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin03.hostedemail.com (Postfix) with ESMTP id 12AFE28A4E9 for ; Tue, 7 Jul 2020 07:45:28 +0000 (UTC) X-HE-Tag: tooth18_170e7a826eb2 X-Filterd-Recvd-Size: 4648 Received: from mail-pg1-f196.google.com (mail-pg1-f196.google.com [209.85.215.196]) by imf28.hostedemail.com (Postfix) with ESMTP for ; Tue, 7 Jul 2020 07:45:27 +0000 (UTC) Received: by mail-pg1-f196.google.com with SMTP id t6so19639054pgq.1 for ; Tue, 07 Jul 2020 00:45:27 -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=ktEVs8Hqf991Zw2ArJoEaKXQpHVgkoYtcCgWjEGUnPA=; b=bCudhXV2TzMRpdKEib0op4Bt1pN4XyWefDsWoE0tYUAf4gkc81psR8GAUTwgJJRAJv thHfe6n8q2aCG+nNXI2nzD7uRDNnN/OA8SOvjSeQj+iL94vLPSZk4ONTQTFMzp+k1biU /t3G2ZqdZhhE3VAKwLBBGhv7YRqJMdDo7UOKJQVBDYUoCW4YvjpDsovPbpcAa8hFUuC3 /0Z6/m68F6DqhNf5tZuJ6GIuFeqg9lFHLMTnxVGqJl4dVRhoID6u34VcGT/ZzlB8fFsa Vpz9G0PMMSH7a7enbL0XdW14UF28HegZGy7SYA0A5hJS9VizcDYiNGvaM0gBHN+FMDZA aiBA== 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=ktEVs8Hqf991Zw2ArJoEaKXQpHVgkoYtcCgWjEGUnPA=; b=ZdnuGRWt0YXTW6ty/9Oj0k5DqY+2kJdWlffqMLUy4fdn4IFFktyYdjSqlYcMlsmqqX SNMSNQZ6OEk1msMve0SEP5GMKj37Pt/CNfRFo4I3FvAQie9RvDnrw6kPrcs7ibH2F+n7 1S6RAskqFwcZyrYBKAa79hYS93ZzpRkjK46rJSdSmmlx0vddNla5BmCumUqCYYX+/mcD 9YwLn0LrFw3mwvWQ9IwJlR7EXeodgl89d5BH+8UeO8mH1PAVrLJvCx0B1I0IvsUU7f4O Mxo4hIb4wIF/u9eOXeaZvpWmxIWsF/8OPZHNVaPaL5qe8M/kikIhVvQVJxvYMDSKqrRD 5QLw== X-Gm-Message-State: AOAM5326myZAy+ypt9Ccqns/G05yQedki8fJKhum3L76mkswR7DvQlh3 J/ZYK6OMaSkSCffyvQsZe9w= X-Google-Smtp-Source: ABdhPJyeoOTD1Nw+9ZWQrMNZq3+EUZHWgPrHfwthTufo+Dtl4PXEZE+ujykdKKimw15qkv8P1+4o3Q== X-Received: by 2002:a65:6150:: with SMTP id o16mr28727781pgv.237.1594107926731; Tue, 07 Jul 2020 00:45:26 -0700 (PDT) Received: from localhost.localdomain ([114.206.198.176]) by smtp.gmail.com with ESMTPSA id 191sm21330151pfw.150.2020.07.07.00.45.23 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 07 Jul 2020 00:45:26 -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, kernel-team@lge.com, Vlastimil Babka , Christoph Hellwig , Roman Gushchin , Mike Kravetz , Naoya Horiguchi , Michal Hocko , Joonsoo Kim Subject: [PATCH v4 05/11] mm/migrate: clear __GFP_RECLAIM for THP allocation for migration Date: Tue, 7 Jul 2020 16:44:43 +0900 Message-Id: <1594107889-32228-6-git-send-email-iamjoonsoo.kim@lge.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1594107889-32228-1-git-send-email-iamjoonsoo.kim@lge.com> References: <1594107889-32228-1-git-send-email-iamjoonsoo.kim@lge.com> X-Rspamd-Queue-Id: 12AFE28A4E9 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam05 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 In mm/migrate.c, THP allocation for migration is called with the provided gfp_mask | GFP_TRANSHUGE. This gfp_mask contains __GFP_RECLAIM and it would be conflict with the intention of the GFP_TRANSHUGE. GFP_TRANSHUGE/GFP_TRANSHUGE_LIGHT is introduced to control the reclaim behaviour by well defined manner since overhead of THP allocation is quite large and the whole system could suffer from it. So, they deals with __GFP_RECLAIM mask deliberately. If gfp_mask contains __GFP_RECLAIM and uses gfp_mask | GFP_TRANSHUGE(_LIGHT) for THP allocation, it means that it breaks the purpose of the GFP_TRANSHUGE(_LIGHT). This patch fixes this situation by clearing __GFP_RECLAIM in provided gfp_mask. Note that there are some other THP allocations for migration and they just uses GFP_TRANSHUGE(_LIGHT) directly. This patch would make all THP allocation for migration consistent. Signed-off-by: Joonsoo Kim --- mm/migrate.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mm/migrate.c b/mm/migrate.c index 02b31fe..ecd7615 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -1547,6 +1547,11 @@ struct page *new_page_nodemask(struct page *page, } if (PageTransHuge(page)) { + /* + * clear __GFP_RECALIM since GFP_TRANSHUGE is the gfp_mask + * that chooses the reclaim masks deliberately. + */ + gfp_mask &= ~__GFP_RECLAIM; gfp_mask |= GFP_TRANSHUGE; order = HPAGE_PMD_ORDER; } -- 2.7.4