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=-15.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 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 E9CCEC433B4 for ; Wed, 7 Apr 2021 15:49:17 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 8B84C610C7 for ; Wed, 7 Apr 2021 15:49:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8B84C610C7 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 235816B0036; Wed, 7 Apr 2021 11:49:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1D14E6B0072; Wed, 7 Apr 2021 11:49:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 098F16B007D; Wed, 7 Apr 2021 11:49:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0210.hostedemail.com [216.40.44.210]) by kanga.kvack.org (Postfix) with ESMTP id E0C626B0036 for ; Wed, 7 Apr 2021 11:49:16 -0400 (EDT) Received: from smtpin10.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 841F6180AD830 for ; Wed, 7 Apr 2021 15:49:16 +0000 (UTC) X-FDA: 78006005112.10.304B810 Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by imf18.hostedemail.com (Postfix) with ESMTP id 19D1A2000254 for ; Wed, 7 Apr 2021 15:49:15 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id BA294B178; Wed, 7 Apr 2021 15:49:14 +0000 (UTC) Subject: Re: [PATCH] mm: page_owner: fetch backtrace only for tracked pages To: Sergei Trofimovich , Andrew Morton Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org References: <20210401212445.3534721-1-slyfox@gentoo.org> From: Vlastimil Babka Message-ID: <0c18e497-07d1-887f-e49e-b6315f396ab8@suse.cz> Date: Wed, 7 Apr 2021 17:49:14 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: <20210401212445.3534721-1-slyfox@gentoo.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 19D1A2000254 X-Stat-Signature: qn4gbyr3k8jpfaern6waz8rbuqnytxw3 X-Rspamd-Server: rspam02 Received-SPF: none (suse.cz>: No applicable sender policy available) receiver=imf18; identity=mailfrom; envelope-from=""; helo=mx2.suse.de; client-ip=195.135.220.15 X-HE-DKIM-Result: none/none X-HE-Tag: 1617810555-739474 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 4/1/21 11:24 PM, Sergei Trofimovich wrote: > Very minor optimization. I'm not entirely sure about accuracy of "only for tracked pages". Missing page_ext is something I'm not even sure how possible it is in practice, probably just an error condition (failed to be allocated?). Or did you observe this in practice? But anyway, the change is not wrong. > CC: Andrew Morton > CC: linux-mm@kvack.org > Signed-off-by: Sergei Trofimovich Acked-by: Vlastimil Babka > --- > mm/page_owner.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/mm/page_owner.c b/mm/page_owner.c > index 63e4ecaba97b..7147fd34a948 100644 > --- a/mm/page_owner.c > +++ b/mm/page_owner.c > @@ -140,14 +140,14 @@ void __reset_page_owner(struct page *page, unsigned int order) > { > int i; > struct page_ext *page_ext; > - depot_stack_handle_t handle = 0; > + depot_stack_handle_t handle; > struct page_owner *page_owner; > > - handle = save_stack(GFP_NOWAIT | __GFP_NOWARN); > - > page_ext = lookup_page_ext(page); > if (unlikely(!page_ext)) > return; > + > + handle = save_stack(GFP_NOWAIT | __GFP_NOWARN); > for (i = 0; i < (1 << order); i++) { > __clear_bit(PAGE_EXT_OWNER_ALLOCATED, &page_ext->flags); > page_owner = get_page_owner(page_ext); >