public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: george anzinger <george@mvista.com>
To: Andrea Arcangeli <andrea@suse.de>
Cc: "Dieter Nützel" <Dieter.Nuetzel@hamburg.de>,
	"Robert Love" <rml@tech9.net>,
	"Roger Larsson" <roger.larsson@norran.net>,
	linux-kernel@vger.kernel.org,
	"ReiserFS List" <reiserfs-list@namesys.com>
Subject: Re: [PATCH] Preemption Latency Measurement Tool
Date: Thu, 20 Sep 2001 13:13:06 -0700	[thread overview]
Message-ID: <3BAA4DD2.FDDAEE6F@mvista.com> (raw)
In-Reply-To: <1000939458.3853.17.camel@phantasy> <20010920063143.424BD1E41A@Cantor.suse.de> <20010920084131.C1629@athlon.random> <20010920075751.6CA791E6B2@Cantor.suse.de> <20010920102139.G729@athlon.random>

Andrea Arcangeli wrote:
> 
> On Thu, Sep 20, 2001 at 09:57:50AM +0200, Dieter Nützel wrote:
> > Am Donnerstag, 20. September 2001 08:41 schrieb Andrea Arcangeli:
> > > Those inodes lines reminded me one thing, you may want to give it a try:
> > >
> > > --- 2.4.10pre12aa1/fs/inode.c.~1~   Thu Sep 20 01:44:07 2001
> > > +++ 2.4.10pre12aa1/fs/inode.c       Thu Sep 20 08:37:33 2001
> > > @@ -295,6 +295,12 @@
> > >                      * so we have to start looking from the list head.
> > >                      */
> > >                     tmp = head;
> > > +
> > > +                   if (unlikely(current->need_resched)) {
> > > +                           spin_unlock(&inode_lock);
> > > +                           schedule();
> > > +                           spin_lock(&inode_lock);
> > > +                   }
> > >             }
> > >     }
> > >
Be warned, while the above will improve latency, it will not improve the
numbers reported by the tool.  The reason is that the tool looks at
actual preemption disable times, so it does not care if "need_resched"
is set or not.  This means that, in the case where need_resched is not
set, the tool would report a long latency as if the conditional lock
break code was not present.  To get the above code into the tools
purview, you could either code it without the conditional or, better,
put the whole thing into a macro ( I think Ingo called it
"conditional_schedule()") and put the instrumentation stuff in the
macro.  Also, in the case of a system with the preemption patch, the
schedule is not needed unless the BKL is also held.

> >
> > You've forgotten a one liner.
> >
> >   #include <linux/locks.h>
> > +#include <linux/compiler.h>
> 
> woops, didn't trapped it because of gcc 3.0.2. thanks.
> 
> > But this is not enough. Even with reniced artsd (-20).
> > Some shorter hiccups (0.5~1 sec).
> 
> I'm not familiar with the output of the latency bench, but I actually
> read "4617" usec as the worst latency, that means 4msec, not 500/1000
> msec.
> 
> > Worst 20 latency times of 4261 measured in this period.
> >   usec      cause     mask   start line/file      address   end line/file
>     ^^^^
> >   4617   reacqBKL        0  1375/sched.c         c0114d94  1381/sched.c
>     ^^^^
~snip
> 
> those are kernel addresses, can you resolve them via System.map rather
> than trying to find their start/end line number?

Uh, trying to find???  These are the names and line numbers provided by
the PPC macros.  The only time the address is helpful is when the bad
guy is hiding in an "inline" in a header file.  Still, is there a simple
script to get the function/offset from the System.map?  We could then
post process with a simple bash/sed script.

> 
> > Worst 20 latency times of 8033 measured in this period.
> >   usec      cause     mask   start line/file      address   end line/file
> >  10856  spin_lock        1  1376/sched.c         c0114db3   697/sched.c
> 
> with dbench 48 we gone to 10msec latency as far I can see (still far
> from 0.5~1 sec). dbench 48 is longer so more probability to get the
> higher latency, and it does more I/O, probably also seeks more, so thre
> are many variables (slower insection in I/O queues first of all, etcll).
> However 10msec isn't that bad, it means 100hz, something that the human
> eye cannot see. 0.5~1 sec would been horribly bad latency instead.. :)

Ah, but we would REALLY like to see it below 1msec.
~snip
 
George

  reply	other threads:[~2001-09-20 20:26 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-09-19 22:44 [PATCH] Preemption Latency Measurement Tool Robert Love
2001-09-20  1:40 ` Ignacio Vazquez-Abrams
2001-09-20  2:23   ` safemode
2001-09-20  1:13     ` David Lang
2001-09-20  2:57       ` Robert Love
2001-09-20  2:38     ` Robert Love
2001-09-20  6:31 ` Dieter Nützel
2001-09-20 20:27   ` Robert Love
     [not found]     ` <200109202111.f8KLBgG16833@zero.tech9.net>
2001-09-20 22:09       ` [PATCH] Preemption patch 2.4.9-ac12 Robert Love
2001-09-20  6:31 ` [PATCH] Preemption Latency Measurement Tool Dieter Nützel
     [not found] ` <20010920063143.424BD1E41A@Cantor.suse.de>
2001-09-20  6:41   ` Andrea Arcangeli
2001-09-20  7:57     ` Dieter Nützel
     [not found]     ` <20010920075751.6CA791E6B2@Cantor.suse.de>
2001-09-20  8:21       ` Andrea Arcangeli
2001-09-20 20:13         ` george anzinger [this message]
2001-09-20 20:38           ` Randy.Dunlap
2001-09-20 21:10         ` Robert Love
2001-09-20 21:35           ` Dieter Nützel
2001-09-20 22:03             ` Oliver Xymoron
2001-09-20 22:51               ` Dieter Nützel
     [not found]               ` <200109202252.f8KMqLG17327@zero.tech9.net>
2001-09-21  3:17                 ` Robert Love
2001-09-21 15:48                   ` george anzinger
2001-09-22 21:09                     ` Dieter Nützel
2001-09-22 23:40                       ` safemode
2001-09-22 23:46                       ` Dieter Nützel
2001-09-23  0:15                       ` safemode
     [not found]                       ` <200109222340.BAA37547@blipp.internet5.net>
2001-09-23  0:38                         ` Roger Larsson
2001-09-23  1:42                           ` safemode
2001-09-23  3:02                           ` Robert Love
2001-09-23 16:43                             ` Roger Larsson
2001-09-23  0:42                       ` Dieter Nützel
     [not found]                       ` <200109222341.f8MNfnG25152@zero.tech9.net>
2001-09-23  2:50                         ` Robert Love
2001-09-23  3:14                           ` george anzinger
2001-09-23  4:06                             ` Dieter Nützel
     [not found]                       ` <200109222347.f8MNlMG25157@zero.tech9.net>
2001-09-23  2:54                         ` Robert Love
2001-09-27  0:02                           ` [reiserfs-list] " Dieter Nützel
     [not found]                       ` <200109230016.f8N0G6G25222@zero.tech9.net>
2001-09-23  2:58                         ` Robert Love
     [not found]                     ` <200109222120.f8MLKYG24859@zero.tech9.net>
2001-09-23  2:44                       ` Robert Love
     [not found]     ` <200109200757.JAA60995@blipp.internet5.net>
2001-09-20 17:37       ` Roger Larsson
2001-09-20 21:29         ` Robert Love
2001-09-20 21:53           ` Dieter Nützel
     [not found]     ` <200109200758.f8K7wEG13675@zero.tech9.net>
2001-09-20 21:09       ` Robert Love
2001-09-20 20:01 ` Tobias Diedrich
2001-09-20 22:01   ` Robert Love
2001-09-22  3:57 ` Andre Pang
2001-09-22  6:10   ` Robert Love
2001-09-22  7:22     ` Andre Pang
2001-09-23  3:18       ` george anzinger
2001-09-23  3:21         ` Robert Love
2001-09-23  7:05       ` Robert Love
2001-09-23 12:03         ` Andre Pang
2001-09-23 18:31           ` Robert Love
2001-09-22 12:56     ` ksoftirqd? (Was: Re: [PATCH] Preemption Latency Measurement Tool) Roger Larsson
2001-09-22 13:14       ` Andrea Arcangeli
2001-09-22 20:51         ` Roger Larsson
2001-09-22 21:33           ` Andrea Arcangeli
     [not found] <200109202253.RAA21082@waste.org>
2001-09-20 23:15 ` [PATCH] Preemption Latency Measurement Tool Oliver Xymoron
2001-09-21  0:42   ` Roger Larsson
2001-09-21  1:03     ` Alan Cox
2001-09-21  1:22       ` Andrea Arcangeli
2001-09-21  1:51         ` Rik van Riel
2001-09-21  1:38       ` Roger Larsson
2001-09-21  1:53         ` Roger Larsson
2001-09-21  2:08           ` Roger Larsson
2001-09-21  2:29             ` Rik van Riel
2001-09-21 16:24       ` Jussi Laako
2001-09-21 16:36         ` Alan Cox
2001-09-21 18:46         ` Thomas Sailer
2001-09-22 10:30           ` Jussi Laako
2001-09-21 16:18     ` Stefan Westerfeld
2001-09-21 20:18       ` Dieter Nützel
     [not found]       ` <200109212018.f8LKImG21229@zero.tech9.net>
2001-09-21 21:47         ` Robert Love
  -- strict thread matches above, loose matches on Subject: below --
2002-04-09  5:23 [PATCH] preemption latency measurement tool Robert Love

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=3BAA4DD2.FDDAEE6F@mvista.com \
    --to=george@mvista.com \
    --cc=Dieter.Nuetzel@hamburg.de \
    --cc=andrea@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=reiserfs-list@namesys.com \
    --cc=rml@tech9.net \
    --cc=roger.larsson@norran.net \
    /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