The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Arjan van de Ven <arjan@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>,
	linux-kernel@vger.kernel.org, mingo@elte.hu
Subject: Re: [PATCH] ftrace: add an fsync tracer
Date: Thu, 06 Nov 2008 15:19:01 +0100	[thread overview]
Message-ID: <1225981141.7803.4577.camel@twins> (raw)
In-Reply-To: <20081106060624.58a0f967@infradead.org>

On Thu, 2008-11-06 at 06:06 -0800, Arjan van de Ven wrote:
> On Thu, 06 Nov 2008 13:55:38 +0100
> Peter Zijlstra <peterz@infradead.org> wrote:
> 
> > On Wed, 2008-11-05 at 09:49 -0800, Arjan van de Ven wrote:
> > > From 63c1b869d94eb31a98015af09fb24e22151f2f00 Mon Sep 17 00:00:00
> > > 2001 From: Arjan van de Ven <arjan@linux.intel.com>
> > > Date: Tue, 4 Nov 2008 21:08:11 -0800
> > > Subject: [PATCH] ftrace: add an fsync tracer
> > > 
> > > fsync() (and its cousin, fdatasync()) are important chokepoints in
> > > the kernel as they imply very expensive operations, both in terms
> > > of filesystem operations (ext3 writes back its entire journal) as
> > > well as the block layer (fsync() implies sending a cache flushing
> > > barrier to the SATA/SCSI disk).
> > > 
> > > This tracer makes a log of which application calls fsync() on which
> > > file, so that developers and others interested in finding these
> > > choke points can locate them and fix them in the apps that call
> > > this function.
> > 
> > Sorry, but I have to object to such single purpose tracers..
> > 
> > If we go this way we'll end up with a gazillion little tracers, non of
> > which are really useful.
> 
> If we go this way we'll end up with a bunch of little tracers, all of
> which will be useful in their area, and people can also make "super
> tracers" out of the useful trace points.

I don't think: 

# cat available_tracers | wc -l
500

will do much good for people.

Also, I don't think do_fsync() is the right place to catch what you're
trying to catch.

> > 
> > Please work on getting something like a syscall tracer,
> 
> a syscall tracer will exactly not tell you which file(name) was being
> fsync()'d which was the whole point.

It will tell you the process and the fd, and when you have those two its
a simple step to find the actual file.

> LatencyTOP already KNOWS that fsync is the problem. What it doesn't
> know is which file is being fsync()d.
> 
> fsync is a problem when used incorrectly, not just for ext3 but also
> due to barriers. That's why it's important to be able to find who calls
> it when it impacts interactive performance.

Which suggests you want a tracer that gives more information about who
generates barriers, not specifically fsync().



  reply	other threads:[~2008-11-06 14:18 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-05 17:49 [PATCH] ftrace: add an fsync tracer Arjan van de Ven
2008-11-05 19:43 ` Marcin Slusarz
2008-11-05 20:36   ` Arjan van de Ven
2008-11-06  7:20     ` Ingo Molnar
2008-11-06 12:55 ` Peter Zijlstra
2008-11-06 13:28   ` Frédéric Weisbecker
2008-11-06 14:06   ` Arjan van de Ven
2008-11-06 14:19     ` Peter Zijlstra [this message]
2008-11-06 14:31       ` Arjan van de Ven
2008-11-06 14:50         ` Peter Zijlstra
2008-11-06 15:01           ` Arjan van de Ven
2008-11-06 15:34             ` Steven Rostedt
2008-11-06 17:45               ` Arjan van de Ven
2008-11-06 20:19                 ` Frank Ch. Eigler
2008-11-06 20:29                   ` Peter Zijlstra
2008-11-06 20:57                     ` Frank Ch. Eigler
2008-11-06 21:18                     ` Jason Baron
2008-11-06 21:53                     ` Mathieu Desnoyers
2008-11-06 22:14                       ` Frank Ch. Eigler
2008-11-06 22:25                         ` Mathieu Desnoyers
2008-11-06 23:25                           ` Frank Ch. Eigler
2008-11-07  4:25                             ` Arjan van de Ven
2008-11-07  5:12                             ` Mathieu Desnoyers
2008-11-06 21:13                   ` Arjan van de Ven
2008-11-06 21:20                     ` Frank Ch. Eigler
2008-11-06 14:14   ` Arjan van de Ven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1225981141.7803.4577.camel@twins \
    --to=peterz@infradead.org \
    --cc=arjan@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox