2003-03-07 06:32:58

by Hiro Yoshioka

[permalink] [raw]
Subject: perfctr and Linus' tree?

Hi,

I have a question. Is there any progress on merging the
perfctr patch to Linus' kernel tree?

http://www.uwsg.iu.edu/hypermail/linux/kernel/0303.0/0647.html

I found the DCL patch set includes the perfctr patch.
http://lists.osdl.org/pipermail/dcl_developer/2003-March/000009.html

Thanks in advance,
Hiro


2003-03-07 13:20:07

by Mikael Pettersson

[permalink] [raw]
Subject: Re: [Perfctr-devel] perfctr and Linus' tree?

Hiro Yoshioka writes:
> I have a question. Is there any progress on merging the
> perfctr patch to Linus' kernel tree?
>
> http://www.uwsg.iu.edu/hypermail/linux/kernel/0303.0/0647.html
>
> I found the DCL patch set includes the perfctr patch.
> http://lists.osdl.org/pipermail/dcl_developer/2003-March/000009.html

No progress since Linus totally ignored it, but at least two
perfctr-patched trees exist. OSDL does one for the development
kernel, and Jack Perdue has pre-patched RedHat kernel .rpms.
(For Jack's stuff, check out PAPI -> Links -> Related Software.)

I'm planning to simplify the kernel <--> user-space interface in
perfctr-2.6 (drop /proc/pid/perfctr and go back to /dev/perfctr),
and then I _think_ I can do a version that doesn't require patching
kernel source. (It will do binary code patching at module load-time
instead. Horrible as that sounds, it's easier to deal with for users.)

/Mikael

2003-03-10 07:32:40

by Hiro Yoshioka

[permalink] [raw]
Subject: Re: [Perfctr-devel] perfctr and Linus' tree?

From: Mikael Pettersson <[email protected]>
> Hiro Yoshioka writes:
> > I have a question. Is there any progress on merging the
> > perfctr patch to Linus' kernel tree?
> >
> > http://www.uwsg.iu.edu/hypermail/linux/kernel/0303.0/0647.html
> >
> > I found the DCL patch set includes the perfctr patch.
> > http://lists.osdl.org/pipermail/dcl_developer/2003-March/000009.html
>
> No progress since Linus totally ignored it, but at least two
> perfctr-patched trees exist. OSDL does one for the development
> kernel, and Jack Perdue has pre-patched RedHat kernel .rpms.
> (For Jack's stuff, check out PAPI -> Links -> Related Software.)
>
> I'm planning to simplify the kernel <--> user-space interface in
> perfctr-2.6 (drop /proc/pid/perfctr and go back to /dev/perfctr),
> and then I _think_ I can do a version that doesn't require patching
> kernel source. (It will do binary code patching at module load-time
> instead. Horrible as that sounds, it's easier to deal with for users.)

I like /proc/pid/perfctr interface (virtual PMC mode).

The following patch should be included into the main line kernel,
shouldn't it?

--- linux-2.5.62-perfctr/include/asm-i386/processor.h.~1~ 2003-02-18 02:06
:53.000000000 +0100
+++ linux-2.5.62-perfctr/include/asm-i386/processor.h 2003-02-18 02:18:36.0000
00000 +0100
@@ -372,6 +372,11 @@
unsigned long __cacheline_filler[5];
};

+/*
+ * Virtual per-process performance-monitoring counters.
+ */
+struct vperfctr; /* opaque; no need to depend on <linux/perfctr.h> */
+
struct thread_struct {
/* cached TLS descriptors. */
struct desc_struct tls_array[GDT_ENTRY_TLS_ENTRIES];
@@ -393,6 +398,8 @@
unsigned int saved_fs, saved_gs;
/* IO permissions */
unsigned long *ts_io_bitmap;
+/* performance counters */
+ struct vperfctr *perfctr;
};

#define INIT_THREAD { \

---------------------------------------------

I think a per process (thread) performance monitoring is very
important.

Thanks in advance,
Hiro