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=-5.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=no 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 87F82C48BE8 for ; Mon, 14 Jun 2021 08:16:18 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 0D38A61370 for ; Mon, 14 Jun 2021 08:16:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0D38A61370 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 7D5E36B0070; Mon, 14 Jun 2021 04:16:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 786406B0071; Mon, 14 Jun 2021 04:16:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 64E006B0072; Mon, 14 Jun 2021 04:16:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0072.hostedemail.com [216.40.44.72]) by kanga.kvack.org (Postfix) with ESMTP id 31EC16B0070 for ; Mon, 14 Jun 2021 04:16:17 -0400 (EDT) Received: from smtpin17.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id BB36B12CC for ; Mon, 14 Jun 2021 08:16:16 +0000 (UTC) X-FDA: 78251621952.17.65B9BAB Received: from mail-qk1-f177.google.com (mail-qk1-f177.google.com [209.85.222.177]) by imf02.hostedemail.com (Postfix) with ESMTP id 0598B40002C1 for ; Mon, 14 Jun 2021 08:16:11 +0000 (UTC) Received: by mail-qk1-f177.google.com with SMTP id u30so37547829qke.7 for ; Mon, 14 Jun 2021 01:16: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; bh=vpAyqUjaflfKUGtjObnGsRA7520nBguNi8UonV4D0D8=; b=pfOObm+3GuOv90xDOh+ZGgTmJ4GX9RhboWit6MTVZs1thAAynj3s6tyYucQZ4o5W4K l5sf1haeKYDJYVjgK93ip92044qtcsD03G55gcFPg71JQQBHQXspN0awbhnZHaE0cOUm HdBjM/scuEF6Bier1AIu1z4XEz+GZvbIksVQp+LdlzCxTFDUDO7oSIyLQZiqeUTJwUdl s4YVggNB4jELDDAVh5csZGh+d2QFVy8EYQPfaCCgUeSTxzyQAMMZVngx0i3RFrALY+V7 Ww1SAtt9kGRSEbE+NGIkC2+0I1plkuUAhjgdU+OciktLBjA3WLxoJ1/VuXov7t5CZN4u eojA== 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; bh=vpAyqUjaflfKUGtjObnGsRA7520nBguNi8UonV4D0D8=; b=mP9euV8uimGaNSgT1tNR+l3s/fKYQo3uth3bFqA8yGlO7BG6P8NFBVZ82drYyWRCzu RsaDjQgt+BxNw0euowhOfDxXkbOvEiaNEiv19ljhYluEN+mb4SCc7AJQPBs2+uj0AOtx Z2uqNRn0LAdu3Gs0nnXcp9SzBbIu9+oBI3qoAIaAHxpxG2H3KI3iCsfXcSYWNRC9ZlIG K4GtcVSfMsKN9BJFtixKtZagZmtlqoPcfiJMeWpKgQ6p2D/jKv28rSp1fbHB1lF3zqaq bAdIIW3IjMeLxRx4IZPS2Fbp/N8SJnyGlme+gEYm8d/Ft1EfL7mUkMIrPrIdRVDulRDe KnoQ== X-Gm-Message-State: AOAM53031Nq8M5MmeVZiKaCi1vsYhldzteh8lAfw7YsejLn+rLJ12Diy Ntg+TVgpn3ps9GTmdJ3PBmg= X-Google-Smtp-Source: ABdhPJypbGhuKm9BSOmK9DpZYRZQkioeLCJ6yuQ9KkZ8Ma+NNOTgbHmLXrnpDPFJaOUbIurK4rX1/w== X-Received: by 2002:a37:9244:: with SMTP id u65mr15138759qkd.46.1623658575858; Mon, 14 Jun 2021 01:16:15 -0700 (PDT) Received: from localhost.localdomain (ec2-35-169-212-159.compute-1.amazonaws.com. [35.169.212.159]) by smtp.gmail.com with ESMTPSA id p3sm9458831qti.31.2021.06.14.01.16.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jun 2021 01:16:15 -0700 (PDT) From: SeongJae Park X-Google-Original-From: SeongJae Park To: Matthew Wilcox Cc: Vladimir Davydov , "Kirill A. Shutemov" , Hugh Dickins , linux-mm@kvack.org Subject: Re: Idle THPs Date: Mon, 14 Jun 2021 08:16:10 +0000 Message-Id: <20210614081610.16123-1-sjpark@amazon.de> X-Mailer: git-send-email 2.17.1 In-Reply-To: X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 0598B40002C1 X-Stat-Signature: tp9fzsirrsgudsrp9ikg1u3r6o7etr6s Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=pfOObm+3; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf02.hostedemail.com: domain of sj38park@gmail.com designates 209.85.222.177 as permitted sender) smtp.mailfrom=sj38park@gmail.com X-HE-Tag: 1623658571-424182 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000263, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: SeongJae Park On Thu, 10 Jun 2021 04:43:18 +0100 Matthew Wilcox wrote: > As part of the folio work, I'm looking at PageIdle and PageYoung and > they're defined to operate on PF_ANY. So, for example, in > pagecache_get_page(), we will call clear_page_idle() on the head page > (actually, I changed this in a8cf7f272b5a -- before, it would call > clear_page_idle() on the tail page). > > However, we never actually call set_page_idle() on tail pages. This is > because we only call it here: > > page = page_idle_get_page(pfn); > if (page) { > page_idle_clear_pte_refs(page); > set_page_idle(page); > put_page(page); > } > > where page_idle_get_page() does: > > struct page *page = pfn_to_online_page(pfn); > > if (!page || !PageLRU(page) || > !get_page_unless_zero(page)) > return NULL; > > get_page_unless_zero() will always fail for tail pages (as it uses > page_ref_add_unless(), which does not redirect to the head page's > refcount). So all tail pages read back as !idle in > page_idle_bitmap_read(). Is this intended? Should they rather > mirror the state of their head page? I think this is an intended behavior, as the document[1] says as below: For huge pages the idle flag is set only on the head page, so one has to read /proc/kpageflags in order to correctly count idle huge pages. [1] https://www.kernel.org/doc/html/latest/admin-guide/mm/idle_page_tracking.html Thanks, SeongJae Park