Re: [patch 00/19] perfmon2 minimal v3: introduction

From: stephane eranian
Date: Tue Jul 29 2008 - 02:21:01 EST


Stephen,


On Mon, Jul 28, 2008 at 8:47 AM, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> On Mon, 30 Jun 2008 06:13:26 -0700 (PDT) eranian@xxxxxxxxxxxxxx wrote:
>>
>> The following patches implement a minimal perfmon2 subsystem which provides
>> access to the hardware performance counters of modern processors.
>
> First up, I cannot speak to the actual function of the patches, but just
> to the mechanics of getting them into the kernel. One good thing is that
> with CONFIG_PERFMON turned off, it looks like the impact is very close to
> zero. Two obvious things that would help these being accepted are:
>
Yes, when CONFIG_PERFMON is off, there should be no penalty at all.
The hooks are removed via empty inline functions. The extra field in
task_struct is removed. In x86-specific code, the low-level interrupt
code is removed. The TIF flags are unused, thus no impact on context
switch because the thread_info cacheline is checked regardless of perfmon2.


> ordering - in the current incarnation, the patches produce places
> where the kernel will not build. We like things to be ordered so that
> git bisection does not fail if at all possible - that means that an
> allmod/yesconfig should build after the application of each patch.
> Currently this is not so. It could be mode to do so trivially by
> delaying the "global" Kconfig/Makefile updates until later in the
> sequence. And you really should introduce the system calls *before*
> wiring them up.

I will restructure the patch series so it can be built at any one level of
of th patch stack.

>
> quite a few of the macros (especially for the dummy (non
> CONFIG_PERFMON) versions of functions) should be "static inline"
> functions unless they absolutely must be macros. Andrew Morton said it
> best - "write in C not C preprocessor".
>
I will fix that as well.

> I can see that this infrastructure could be very useful and I appreciate
> that it has been cut down for this initial merge. These patches (even as
> they are) compare favourably to some other new infrastructure that has
> been introduced.

I think I can break it down a bit more especially for x86_64.

As discussed with people on LKML and with Andi Kleen last week at OLS, I will
see what can be done with the syscalls to make them a bit more extensible.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/