[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190904153759.GC3838@dhcp22.suse.cz>
Date: Wed, 4 Sep 2019 17:37:59 +0200
From: Michal Hocko <mhocko@...nel.org>
To: Joel Fernandes <joel@...lfernandes.org>
Cc: linux-kernel@...r.kernel.org, Tim Murray <timmurray@...gle.com>,
carmenjackson@...gle.com, mayankgupta@...gle.com,
dancol@...gle.com, rostedt@...dmis.org, minchan@...nel.org,
akpm@...ux-foundation.org, kernel-team@...roid.com,
"Aneesh Kumar K.V" <aneesh.kumar@...ux.ibm.com>,
Dan Williams <dan.j.williams@...el.com>,
Jerome Glisse <jglisse@...hat.com>, linux-mm@...ck.org,
Matthew Wilcox <willy@...radead.org>,
Ralph Campbell <rcampbell@...dia.com>,
Vlastimil Babka <vbabka@...e.cz>
Subject: Re: [PATCH v2] mm: emit tracepoint when RSS changes by threshold
On Wed 04-09-19 11:32:58, Joel Fernandes wrote:
> On Wed, Sep 04, 2019 at 10:45:08AM +0200, Michal Hocko wrote:
> > On Tue 03-09-19 16:09:05, Joel Fernandes (Google) wrote:
> > > Useful to track how RSS is changing per TGID to detect spikes in RSS and
> > > memory hogs. Several Android teams have been using this patch in various
> > > kernel trees for half a year now. Many reported to me it is really
> > > useful so I'm posting it upstream.
> > >
> > > Initial patch developed by Tim Murray. Changes I made from original patch:
> > > o Prevent any additional space consumed by mm_struct.
> > > o Keep overhead low by checking if tracing is enabled.
> > > o Add some noise reduction and lower overhead by emitting only on
> > > threshold changes.
> >
> > Does this have any pre-requisite? I do not see trace_rss_stat_enabled in
> > the Linus tree (nor in linux-next).
>
> No, this is generated automatically by the tracepoint infrastructure when a
> tracepoint is added.
OK, I was not aware of that.
> > Besides that why do we need batching in the first place. Does this have a
> > measurable overhead? How does it differ from any other tracepoints that we
> > have in other hotpaths (e.g. page allocator doesn't do any checks).
>
> We do need batching not only for overhead reduction,
What is the overhead?
> but also for reducing
> tracing noise. Flooding the traces makes it less useful for long traces and
> post-processing of traces. IOW, the overhead reduction is a bonus.
This is not really anything special for this tracepoint though.
Basically any tracepoint in a hot path is in the same situation and I do
not see a point why each of them should really invent its own way to
throttle. Maybe there is some way to do that in the tracing subsystem
directly.
--
Michal Hocko
SUSE Labs
Powered by blists - more mailing lists