[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081205084233.GE2030@elte.hu>
Date: Fri, 5 Dec 2008 09:42:33 +0100
From: Ingo Molnar <mingo@...e.hu>
To: David Miller <davem@...emloft.net>
Cc: a.p.zijlstra@...llo.nl, paulus@...ba.org, tglx@...utronix.de,
linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org,
akpm@...ux-foundation.org, eranian@...glemail.com,
dada1@...mosbay.com, robert.richter@....com, arjan@...radead.org,
hpa@...or.com, rostedt@...dmis.org
Subject: Re: [patch 0/3] [Announcement] Performance Counters for Linux
* David Miller <davem@...emloft.net> wrote:
> From: Ingo Molnar <mingo@...e.hu>
> Date: Fri, 5 Dec 2008 09:24:31 +0100
>
> > Right now we begun with the most trivial ones:
> >
> > enum perf_record_type {
> > PERF_RECORD_SIMPLE,
> > PERF_RECORD_IRQ,
> > };
> >
> > ... but it would be natural to do a PERF_RECORD_GP_REGISTERS as well.
> > Perhaps even a PERF_RECORD_STACKTRACE using the sysprof facilities, to do
> > a hierarchic multi-dimension profile that sysprof does so nicely.
>
> Maybe even add something like PERF_RECORD_THE_MOON...
>
> see how rediculious this is?
Note that more notification record types is actually where latest
hardware is going: for example in Nehalem there's a PEBS notification
record type that has cachemiss latency included in the record. I.e. we
can get profiles with _cachemiss latency_ included (as measured from
issuing the instruction to completion).
You cannot get that information out of any 'stop the task' interface ...
Stopping a task is way too intrusive, i dont know why you keep harping on
it. Listen to the scheduler guys: it's a non-starter.
> It's not your business in the kernel to decide what things are useful.
> The monitor can stop the task and inspect whatever it wants with
> _existing_ facilities. We need none of this stuff.
You try to ridicule our efforts, while you have not answered our
technical arguments in substance.
Please let me repeat: it's a _fundamental_ thesis of performance
instrumentation to not disturb the monitored context. Your insistence on
_stopping_ the monitored task breaks that fundamental axiom!
Stopping a task destroys the characteristics of many, many workloads. To
get a reasonable histogram out of a system a highlevel event count of
thousands a second is desired (but hundreds of them are a minimum, to get
any reasonable coverage).
But injecting even hundreds of artificialy task-stoppages will destroy
the true behavior of many reference workloads we care about in Linux!
Stopping the task is a fundamental and obvious design failure of perfmon.
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists