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 12175C4742C for ; Wed, 30 Sep 2020 10:02:49 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D3F5D207F7 for ; Wed, 30 Sep 2020 10:02:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729470AbgI3KCs (ORCPT ); Wed, 30 Sep 2020 06:02:48 -0400 Received: from foss.arm.com ([217.140.110.172]:33156 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729435AbgI3KCr (ORCPT ); Wed, 30 Sep 2020 06:02:47 -0400 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 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 >