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=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_2 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 589E2C432C0 for ; Mon, 2 Dec 2019 21:56:07 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 13A742071E for ; Mon, 2 Dec 2019 21:56:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 13A742071E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=goodmis.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 7622A6B0003; Mon, 2 Dec 2019 16:56:06 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 712D36B0006; Mon, 2 Dec 2019 16:56:06 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 628866B0007; Mon, 2 Dec 2019 16:56:06 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0094.hostedemail.com [216.40.44.94]) by kanga.kvack.org (Postfix) with ESMTP id 4E1176B0003 for ; Mon, 2 Dec 2019 16:56:06 -0500 (EST) Received: from smtpin26.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with SMTP id E1AD58248D52 for ; Mon, 2 Dec 2019 21:56:05 +0000 (UTC) X-FDA: 76221559890.26.magic14_6f6a05b02ed58 X-HE-Tag: magic14_6f6a05b02ed58 X-Filterd-Recvd-Size: 3463 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf38.hostedemail.com (Postfix) with ESMTP for ; Mon, 2 Dec 2019 21:56:05 +0000 (UTC) Received: from gandalf.local.home (cpe-66-24-58-225.stny.res.rr.com [66.24.58.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 56B4620705; Mon, 2 Dec 2019 21:56:03 +0000 (UTC) Date: Mon, 2 Dec 2019 16:56:01 -0500 From: Steven Rostedt To: Joel Fernandes Cc: akpm@linux-foundation.org, aneesh.kumar@linux.ibm.com, carmenjackson@google.com, dan.j.williams@intel.com, dancol@google.com, jglisse@redhat.com, linux-mm@kvack.org, mayankgupta@google.com, mhocko@suse.com, minchan@kernel.org, mm-commits@vger.kernel.org, rcampbell@nvidia.com, timmurray@google.com, torvalds@linux-foundation.org, vbabka@suse.cz, willy@infradead.org Subject: Re: [patch 026/158] mm: emit tracepoint when RSS changes Message-ID: <20191202165601.42366c21@gandalf.local.home> In-Reply-To: <20191202211345.GE17234@google.com> References: <20191201015030.MR-ux4mV1%akpm@linux-foundation.org> <20191202121415.1e64a461@gandalf.local.home> <20191202211345.GE17234@google.com> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII 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 Mon, 2 Dec 2019 16:13:45 -0500 Joel Fernandes wrote: > On Mon, Dec 02, 2019 at 12:14:15PM -0500, Steven Rostedt wrote: > > On Sat, 30 Nov 2019 17:50:30 -0800 > > akpm@linux-foundation.org wrote: > > > > > /* Optimized variant when page is already known not to be PageAnon */ > > > --- a/include/trace/events/kmem.h~mm-emit-tracepoint-when-rss-changes > > > +++ a/include/trace/events/kmem.h > > > @@ -316,6 +316,27 @@ TRACE_EVENT(mm_page_alloc_extfrag, > > > __entry->change_ownership) > > > ); > > > > > > +TRACE_EVENT(rss_stat, > > > + > > > + TP_PROTO(int member, > > > + long count), > > > + > > > + TP_ARGS(member, count), > > > + > > > + TP_STRUCT__entry( > > > + __field(int, member) > > > + __field(long, size) > > > + ), > > > + > > > + TP_fast_assign( > > > + __entry->member = member; > > > + __entry->size = (count << PAGE_SHIFT); > > > > It's best to put all calculations (including shifts) in the print part, > > as that's the slow path. The TP_fast_assign() is done when the trace > > point is triggered (during the execution of the code). It's best to > > keep this in the slow path (TP_printk). > > > > __entry->count = count; > > > > > + ), > > > + > > > + TP_printk("member=%d size=%ldB", > > > + __entry->member, > > > + __entry->size) > > > > __entry->count << PAGE_SHIFT) > > Ah. Android users now use a tool called perfetto which gather raw trace > (binary format). So such shifting will have to be done by userspace then if > we did it this way. And I'm afraid this patch has been in circulation for > quite some time now that may cause major pains in changing userspace tooling > now :-\ > I've been trying to get libtraceevent into a standard library, and it's been ready to go. Can your tool please use that. It can handle this without issue. Just feed it the format file (that's exported to user space via the tracefs file system). -- Steve