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=-12.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable 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 31E63C43462 for ; Sat, 11 Jul 2020 00:59:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 12D062076A for ; Sat, 11 Jul 2020 00:59:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728012AbgGKA7v (ORCPT ); Fri, 10 Jul 2020 20:59:51 -0400 Received: from out30-44.freemail.mail.aliyun.com ([115.124.30.44]:49090 "EHLO out30-44.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727983AbgGKA7t (ORCPT ); Fri, 10 Jul 2020 20:59:49 -0400 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R731e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e01355;MF=alex.shi@linux.alibaba.com;NM=1;PH=DS;RN=18;SR=0;TI=SMTPD_---0U2KGAZr_1594429139; Received: from alexshi-test.localdomain(mailfrom:alex.shi@linux.alibaba.com fp:SMTPD_---0U2KGAZr_1594429139) by smtp.aliyun-inc.com(127.0.0.1); Sat, 11 Jul 2020 08:59:05 +0800 From: Alex Shi To: akpm@linux-foundation.org, mgorman@techsingularity.net, tj@kernel.org, hughd@google.com, khlebnikov@yandex-team.ru, daniel.m.jordan@oracle.com, yang.shi@linux.alibaba.com, willy@infradead.org, hannes@cmpxchg.org, lkp@intel.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, shakeelb@google.com, iamjoonsoo.kim@lge.com, richard.weiyang@gmail.com, kirill@shutemov.name Cc: =?UTF-8?q?Mika=20Penttil=C3=A4?= Subject: [PATCH v16 14/22] mm/thp: add tail pages into lru anyway in split_huge_page() Date: Sat, 11 Jul 2020 08:58:48 +0800 Message-Id: <1594429136-20002-15-git-send-email-alex.shi@linux.alibaba.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1594429136-20002-1-git-send-email-alex.shi@linux.alibaba.com> References: <1594429136-20002-1-git-send-email-alex.shi@linux.alibaba.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org split_huge_page() must start with PageLRU(head), but lru bit *maybe* cleared by isolate_lru_page, anyway the head still in lru list, since we still held the lru_lock. Signed-off-by: Alex Shi Cc: Kirill A. Shutemov Cc: Andrew Morton Cc: Johannes Weiner Cc: Matthew Wilcox Cc: Hugh Dickins Cc: Mika Penttilä Cc: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org --- mm/huge_memory.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/mm/huge_memory.c b/mm/huge_memory.c index d866b6e43434..4fe7b92c9330 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -2348,15 +2348,18 @@ static void lru_add_page_tail(struct page *head, struct page *page_tail, VM_BUG_ON_PAGE(PageLRU(page_tail), head); lockdep_assert_held(&lruvec_pgdat(lruvec)->lru_lock); - if (!list) - SetPageLRU(page_tail); - - if (likely(PageLRU(head))) - list_add_tail(&page_tail->lru, &head->lru); - else if (list) { + if (list) { /* page reclaim is reclaiming a huge page */ get_page(page_tail); list_add_tail(&page_tail->lru, list); + } else { + /* + * Split start from PageLRU(head), but lru bit maybe cleared + * by isolate_lru_page, but head still in lru list, since we + * held the lru_lock. + */ + SetPageLRU(page_tail); + list_add_tail(&page_tail->lru, &head->lru); } } -- 1.8.3.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Shi Subject: [PATCH v16 14/22] mm/thp: add tail pages into lru anyway in split_huge_page() Date: Sat, 11 Jul 2020 08:58:48 +0800 Message-ID: <1594429136-20002-15-git-send-email-alex.shi@linux.alibaba.com> References: <1594429136-20002-1-git-send-email-alex.shi@linux.alibaba.com> Mime-Version: 1.0 Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1594429136-20002-1-git-send-email-alex.shi-KPsoFbNs7GizrGE5bRqYAgC/G2K4zDHf@public.gmane.org> Sender: cgroups-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-ID: Content-Type: text/plain; charset="macroman" To: akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org, mgorman-3eNAlZScCAx27rWaFMvyedHuzzzSOjJt@public.gmane.org, tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, hughd-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, khlebnikov-XoJtRXgx1JseBXzfvpsJ4g@public.gmane.org, daniel.m.jordan-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org, yang.shi-KPsoFbNs7GizrGE5bRqYAgC/G2K4zDHf@public.gmane.org, willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org, hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org, lkp-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, shakeelb-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, iamjoonsoo.kim-Hm3cg6mZ9cc@public.gmane.org, richard.weiyang-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, kirill-oKw7cIdHH8eLwutG50LtGA@public.gmane.org Cc: =?UTF-8?q?Mika=20Penttil=C3=A4?= c3BsaXRfaHVnZV9wYWdlKCkgbXVzdCBzdGFydCB3aXRoIFBhZ2VMUlUoaGVhZCksIGJ1dCBscnUg Yml0ICptYXliZSoKY2xlYXJlZCBieSBpc29sYXRlX2xydV9wYWdlLCBhbnl3YXkgdGhlIGhlYWQg c3RpbGwgaW4gbHJ1IGxpc3QsIHNpbmNlIHdlCnN0aWxsIGhlbGQgdGhlIGxydV9sb2NrLgoKU2ln bmVkLW9mZi1ieTogQWxleCBTaGkgPGFsZXguc2hpLUtQc29GYk5zN0dpenJHRTViUnFZQWdDL0cy SzR6REhmQHB1YmxpYy5nbWFuZS5vcmc+CkNjOiBLaXJpbGwgQS4gU2h1dGVtb3YgPGtpcmlsbC1v S3c3Y0lkSEg4ZUx3dXRHNTBMdEdBQHB1YmxpYy5nbWFuZS5vcmc+CkNjOiBBbmRyZXcgTW9ydG9u IDxha3BtLWRlL3RuWFRmK0pMc2ZIRFh2Ykt2M1dEMkZRSmsrOCtiQHB1YmxpYy5nbWFuZS5vcmc+ CkNjOiBKb2hhbm5lcyBXZWluZXIgPGhhbm5lcy1kcnVVZ3ZsMExDTkFmdWdScEM2dTZ3QHB1Ymxp Yy5nbWFuZS5vcmc+CkNjOiBNYXR0aGV3IFdpbGNveCA8d2lsbHktd0VHQ2lLSGUyTHFXVmZlQXdB N3hIUUBwdWJsaWMuZ21hbmUub3JnPgpDYzogSHVnaCBEaWNraW5zIDxodWdoZC1ocElxc0Q0QUts ZlFUMGRaUitBbGZBQHB1YmxpYy5nbWFuZS5vcmc+CkNjOiBNaWthIFBlbnR0aWzDpCA8bWlrYS5w ZW50dGlsYS1NUnNyN2R0aEE5VldrMEh0aWszSi93QHB1YmxpYy5nbWFuZS5vcmc+CkNjOiBsaW51 eC1tbS1CdzMxTWFaS0tzM1l0anZ5VzZ5RHNnQHB1YmxpYy5nbWFuZS5vcmcKQ2M6IGxpbnV4LWtl cm5lbC11Nzl1d1hMMjlUWTc2WjJyTTVtSFhBQHB1YmxpYy5nbWFuZS5vcmcKLS0tCiBtbS9odWdl X21lbW9yeS5jIHwgMTUgKysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRp b25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL21tL2h1Z2VfbWVtb3J5LmMgYi9t bS9odWdlX21lbW9yeS5jCmluZGV4IGQ4NjZiNmU0MzQzNC4uNGZlN2I5MmM5MzMwIDEwMDY0NAot LS0gYS9tbS9odWdlX21lbW9yeS5jCisrKyBiL21tL2h1Z2VfbWVtb3J5LmMKQEAgLTIzNDgsMTUg KzIzNDgsMTggQEAgc3RhdGljIHZvaWQgbHJ1X2FkZF9wYWdlX3RhaWwoc3RydWN0IHBhZ2UgKmhl YWQsIHN0cnVjdCBwYWdlICpwYWdlX3RhaWwsCiAJVk1fQlVHX09OX1BBR0UoUGFnZUxSVShwYWdl X3RhaWwpLCBoZWFkKTsKIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZscnV2ZWNfcGdkYXQobHJ1dmVj KS0+bHJ1X2xvY2spOwogCi0JaWYgKCFsaXN0KQotCQlTZXRQYWdlTFJVKHBhZ2VfdGFpbCk7Ci0K LQlpZiAobGlrZWx5KFBhZ2VMUlUoaGVhZCkpKQotCQlsaXN0X2FkZF90YWlsKCZwYWdlX3RhaWwt PmxydSwgJmhlYWQtPmxydSk7Ci0JZWxzZSBpZiAobGlzdCkgeworCWlmIChsaXN0KSB7CiAJCS8q IHBhZ2UgcmVjbGFpbSBpcyByZWNsYWltaW5nIGEgaHVnZSBwYWdlICovCiAJCWdldF9wYWdlKHBh Z2VfdGFpbCk7CiAJCWxpc3RfYWRkX3RhaWwoJnBhZ2VfdGFpbC0+bHJ1LCBsaXN0KTsKKwl9IGVs c2UgeworCQkvKgorCQkgKiBTcGxpdCBzdGFydCBmcm9tIFBhZ2VMUlUoaGVhZCksIGJ1dCBscnUg Yml0IG1heWJlIGNsZWFyZWQKKwkJICogYnkgaXNvbGF0ZV9scnVfcGFnZSwgYnV0IGhlYWQgc3Rp bGwgaW4gbHJ1IGxpc3QsIHNpbmNlIHdlCisJCSAqIGhlbGQgdGhlIGxydV9sb2NrLgorCQkgKi8K KwkJU2V0UGFnZUxSVShwYWdlX3RhaWwpOworCQlsaXN0X2FkZF90YWlsKCZwYWdlX3RhaWwtPmxy dSwgJmhlYWQtPmxydSk7CiAJfQogfQogCi0tIAoxLjguMy4xCgo=