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.5 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 E8DFAC4727E for ; Wed, 30 Sep 2020 10:02:49 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 7185520BED for ; Wed, 30 Sep 2020 10:02:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7185520BED Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id B2D9B6B005C; Wed, 30 Sep 2020 06:02:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ADB306B005D; Wed, 30 Sep 2020 06:02:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9C8956B0068; Wed, 30 Sep 2020 06:02:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0198.hostedemail.com [216.40.44.198]) by kanga.kvack.org (Postfix) with ESMTP id 79CD56B005C for ; Wed, 30 Sep 2020 06:02:48 -0400 (EDT) Received: from smtpin15.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 368CC180AD772 for ; Wed, 30 Sep 2020 10:02:48 +0000 (UTC) X-FDA: 77319288816.15.glass48_3b052b927192 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin15.hostedemail.com (Postfix) with ESMTP id 124AB1814B0C9 for ; Wed, 30 Sep 2020 10:02:48 +0000 (UTC) X-HE-Tag: glass48_3b052b927192 X-Filterd-Recvd-Size: 2390 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf24.hostedemail.com (Postfix) with ESMTP for ; Wed, 30 Sep 2020 10:02:47 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9F5F9D6E; Wed, 30 Sep 2020 03:02:46 -0700 (PDT) Received: from [192.168.0.130] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 05AF33F70D; Wed, 30 Sep 2020 03:02:43 -0700 (PDT) From: Anshuman Khandual Subject: Re: [RFC V2] mm/vmstat: Add events for HugeTLB migration To: Oscar Salvador Cc: linux-mm@kvack.org, Daniel Jordan , Zi Yan , John Hubbard , Mike Kravetz , Andrew Morton , linux-kernel@vger.kernel.org References: <1601445649-22163-1-git-send-email-anshuman.khandual@arm.com> <20200930074639.GA26786@linux> Message-ID: <5f8a390c-8280-9b04-bf4a-3454d5984bf1@arm.com> Date: Wed, 30 Sep 2020 15:32:10 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20200930074639.GA26786@linux> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit 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: On 09/30/2020 01:16 PM, Oscar Salvador wrote: > On Wed, Sep 30, 2020 at 11:30:49AM +0530, Anshuman Khandual wrote: >> - is_thp = PageTransHuge(page) && !PageHuge(page); >> - nr_subpages = thp_nr_pages(page); >> + is_thp = false; >> + is_hugetlb = false; >> + if (PageTransHuge(page)) { >> + if (PageHuge(page)) >> + is_hugetlb = true; >> + else >> + is_thp = true; >> + } > > Since PageHuge only returns true for hugetlb pages, I think the following is > more simple? > > if (PageHuge(page)) > is_hugetlb = true; > else if (PageTransHuge(page)) > is_thp = true Right, it would be simple. But as Mike had mentioned before PageHuge() check is more expensive than PageTransHuge(). This proposal just tries not to call PageHuge() unless the page first clears PageTransHuge(), saving some potential CPU cycles on normal pages. > > > Besides that, it looks good to me: > > Reviewed-by: Oscar Salvador >