Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp1564369pxu; Fri, 27 Nov 2020 09:55:47 -0800 (PST) X-Google-Smtp-Source: ABdhPJywM10vZ28X4tvQ22g1RzD95ufPMyy42Au0QGJpbpVrL41uV7crGFOHZStmntk0TegLqO4S X-Received: by 2002:a50:d6c6:: with SMTP id l6mr9157894edj.80.1606499747055; Fri, 27 Nov 2020 09:55:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606499747; cv=none; d=google.com; s=arc-20160816; b=IcHp3Y+nD/67fhD3TZPvg6LhdfAWqdy5+Ayp5d8p3NpUZi6+Mk1hbnLE0KGzfqSJl3 yjG7TOvRDqBx3BgTos9osXU6hNmbYYDyBR5ahOWaDBPCm0xnVyIkcBmhINbadjJLys5J 3vsC6hREP0bzCXvNVRa+T+H2OhtkYr9MHHn1TfqOlFdq9hbrI9CzEgHA9iw0yBhVrRMV BGBO6B5wAD+yBifO/5CSLh1NFGqgfiwydXxoKR1Ame4FaPjCV1YJGFNgEfSD8aN/OibF hQwnnYRpkDkb0o5sXBp4zab2N0zwjY3dugNhA/o0j6lwrl4YXIlJeblbCd5ZqpCe59wM vwYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject; bh=hzaqpCwp73mZ5Ytabh3iWBPD1Xu1C2SnsxWK1EGM0mc=; b=eVtDWsSc/AZY3kS2WZH0f5dmM6ioEV+vURvqrQCRheIPS+s4/pAYjim/7bEnP5v9Q0 GKQjiPEyG8JiK8/SJm09BVSbDP8+sv48Jpgo3cmYb02gTzqrguOK0MQ0E8DpUxjHMaBS Mdflz1mDVL8bOsORp483h8Az4l8aQvBJTnTg8RVDOTf1OM6mak+rOxLiyjRB5YRb9W+8 sbOOhODSZRGT5wFPxg3CAwtuhGnIR5yDAOxNyjN1QqxtE9piOEkXBD97e2rwTlCmeyyM p1P1pgoTJD/khi1UhvFwIVtVWIf5KwOz7Kyjg2PI/1Bk7q/2i4yNxne5ime+rxJffAEi MsSQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id de22si2650657edb.454.2020.11.27.09.55.24; Fri, 27 Nov 2020 09:55:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731497AbgK0Rw5 (ORCPT + 99 others); Fri, 27 Nov 2020 12:52:57 -0500 Received: from mx2.suse.de ([195.135.220.15]:43062 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730603AbgK0Rw5 (ORCPT ); Fri, 27 Nov 2020 12:52:57 -0500 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 97D16AC0C; Fri, 27 Nov 2020 17:52:55 +0000 (UTC) Subject: Re: [PATCH] mm/page_owner: Record timestamp and pid To: Andrew Morton , Georgi Djakov Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, sudaraja@codeaurora.org, pratikp@codeaurora.org, lmark@codeaurora.org References: <20201112184106.733-1-georgi.djakov@linaro.org> <20201112111436.c5deeadd3578877fc0b844a1@linux-foundation.org> From: Vlastimil Babka Message-ID: <02f682e2-0e9b-76a8-04fa-487891e18bdf@suse.cz> Date: Fri, 27 Nov 2020 18:52:55 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0 MIME-Version: 1.0 In-Reply-To: <20201112111436.c5deeadd3578877fc0b844a1@linux-foundation.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/12/20 8:14 PM, Andrew Morton wrote: > On Thu, 12 Nov 2020 20:41:06 +0200 Georgi Djakov wrote: > >> From: Liam Mark >> >> Collect the time for each allocation recorded in page owner so that >> allocation "surges" can be measured. >> >> Record the pid for each allocation recorded in page owner so that >> the source of allocation "surges" can be better identified. > > Please provide a description of why this is considered useful. What > has it been used for, what problems has it been used to solve? Worth noting that on x86_64 it doubles the size of struct page_owner from 16 bytes to 32, so it better be justified: struct page_owner { short unsigned int order; /* 0 2 */ short int last_migrate_reason; /* 2 2 */ gfp_t gfp_mask; /* 4 4 */ depot_stack_handle_t handle; /* 8 4 */ depot_stack_handle_t free_handle; /* 12 4 */ u64 ts_nsec; /* 16 8 */ int pid; /* 24 4 */ /* size: 32, cachelines: 1, members: 7 */ /* padding: 4 */ /* last cacheline: 32 bytes */ }; > Are there userspace tools which aid in the processing of this new > information? > > Can/should Documentation/vm/page_owner.rst be updated? > >> --- a/mm/page_owner.c >> +++ b/mm/page_owner.c >> @@ -10,6 +10,7 @@ >> #include >> #include >> #include >> +#include >> >> #include "internal.h" >> >> @@ -25,6 +26,8 @@ struct page_owner { >> gfp_t gfp_mask; >> depot_stack_handle_t handle; >> depot_stack_handle_t free_handle; >> + u64 ts_nsec; >> + int pid; > > pid_t would be nicer? > > >