Mathieu Desnoyers | 2 Jan 2008 18:43
Picon
Picon
Favicon

Re: [2.6.24 patch] Fix ARMv6 OProfile support

* Mathieu Desnoyers (mathieu.desnoyers <at> polymtl.ca) wrote:
> Fix ARMv6 OProfile support
> 
> This patch restores the ARMv6 OProfile support that was killed by
> commit 09cadedbdc01f1a4bea1f427d4fb4642eaa19da9.
> 
> It puts the config options in arch/arm/Kconfig.
> 

This patch header should also include :

Problem identified by Adrian Bunk. Patch inspired by the original fix
proposed by him.

Thanks,

Mathieu

> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers <at> polymtl.ca>
> CC: Adrian Bunk <adrian.bunk <at> movial.fi>
> CC: Randy Dunlap <randy.dunlap <at> oracle.com>
> CC: rmk <at> arm.linux.org.uk
> CC: phil.el <at> wanadoo.fr
> CC: oprofile-list <at> lists.sourceforge.net
> ---
>  arch/arm/Kconfig |   19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> Index: linux-2.6-lttng/arch/arm/Kconfig
> ===================================================================
(Continue reading)

Mathieu Desnoyers | 2 Jan 2008 18:47
Picon
Picon
Favicon

Re: [2.6.24 patch] Fix Cell OProfile support

* Arnd Bergmann (arnd <at> arndb.de) wrote:
> On Saturday 29 December 2007, Mathieu Desnoyers wrote:
> > This patch restores the Cell OProfile support that was killed by
> > commit 09cadedbdc01f1a4bea1f427d4fb4642eaa19da9.
> > 
> > It puts it in arch/powerpc/Kconfig. Since I don't see any good reason to leave
> > this as a supplementary user-selectable option, it is now automatically enabled
> > whenever SPU_FS and OPROFILE are enabled.
> 
> This one has already been superceded by the fix in 
> aed3a8c9bb1a8623a618232087c5ff62718e3b9a, which made CONFIG_OPROFILE_CELL an
> automatically selected option, from arch/powerpc/platforms/cell/Kconfig.
> 

Great, so my patch should be dropped. Thanks!

Mathieu

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

--

-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68
(Continue reading)

Maynard Johnson | 4 Jan 2008 22:01
Picon
Favicon

[PATCH for JIT_SUPPORT branch] symbol versioning support

The main intent of this patch is to set up the JIT support library build 
process for symbol versioning versus library versioning.  This technique 
is used by GLIBC and appears to be gaining popularity as the preferred 
way to handle library versioning issues.  The main idea behind this 
technique is that both old and new symbols coexist in the same binary.  
When a user links an agent lib against our libopagent library, the 
version of the symbols they're linking with is built into their binary.  
Then, if a new libopagent comes out with a new interface (i.e. new 
functions), the agent libs linked against the older libopagent still 
work, and agent libs linked against the new libopagent can use the new 
functions.  As long as an agent library does not use any new functions, 
it can be used with either the old or the new libopagent.  If an agent 
library makes use of a new function, then it must use the new 
libopagent.  An attempt to use (at runtime) an older version would 
result in an error at load time:  e.g., "symbol foo, version OPAGENT_2.0 
not defined in libopagent.so.1".

There is also a technique for changing the signatures of existing 
functions.  This technique allows all versions of the same symbol to 
coexist in the library so that older agent libraries can still use the 
older version of the function.  See the note added to libopagent.c in 
this patch for details.

Aside from the patched files, a new file (attached) will be added to the 
libopagent directory: opagent.ver.  This is a version script file passed 
to the linker that's used for the actual symbol versioning.  
Technically, we would not need to have a version script file for the 
base version of the library since, by default, all the symbols being 
defined now would be given the base version.  But it doesn't hurt and it 
sets up the infrastructure for future needs.
(Continue reading)

John Levon | 5 Jan 2008 03:34
Favicon

Re: [PATCH for JIT_SUPPORT branch] symbol versioning support

On Fri, Jan 04, 2008 at 03:01:02PM -0600, Maynard Johnson wrote:

> library makes use of a new function, then it must use the new 
> libopagent.  An attempt to use (at runtime) an older version would 
> result in an error at load time:  e.g., "symbol foo, version OPAGENT_2.0 
> not defined in libopagent.so.1".

I agree with symbol versioning in principle.

> Aside from the patched files, a new file (attached) will be added to the 
> libopagent directory: opagent.ver.  This is a version script file passed 

Is this the normal suffix used for such files (I don't remember seeing
such a suffix before?)

> to the linker that's used for the actual symbol versioning.  
> Technically, we would not need to have a version script file for the 
> base version of the library since, by default, all the symbols being 
> defined now would be given the base version.  But it doesn't hurt and it 
> sets up the infrastructure for future needs.

It's absolutely critical that we clearly define this, so it's definitely
important.

> This patch also introduces the use of libtool for building libopagent 

That's fine, I think. We're Linux-specific enough for it not to matter
(it might have done, but the BSD people decided to ignore the work we've
done - oh well).

(Continue reading)

Maynard Johnson | 6 Jan 2008 18:39
Picon
Favicon

Re: [PATCH for JIT_SUPPORT branch] symbol versioning support

John Levon wrote:
> On Fri, Jan 04, 2008 at 03:01:02PM -0600, Maynard Johnson wrote:
>
>   
>> library makes use of a new function, then it must use the new 
>> libopagent.  An attempt to use (at runtime) an older version would 
>> result in an error at load time:  e.g., "symbol foo, version OPAGENT_2.0 
>> not defined in libopagent.so.1".
>>     
>
> I agree with symbol versioning in principle.
>
>   
>> Aside from the patched files, a new file (attached) will be added to the 
>> libopagent directory: opagent.ver.  This is a version script file passed 
>>     
>
> Is this the normal suffix used for such files (I don't remember seeing
> such a suffix before?)
>   
There doesn't seem to be a standard.  I've seen three different suffixes 
used in different projects:  ".ver" for libstdc++; ".map" for GLIBC; and 
".in" for libtheora.  I'm sure if I kept looking, I could find more.  
But thinking a bit more about the name we should use for our 
version-script file, perhaps something more obvious would be helpful -- 
e.g., opagent_symbols.ver or opagent_version_script.ver, etc.

-Maynard
>   
>> to the linker that's used for the actual symbol versioning.  
(Continue reading)

Michael Ellerman | 7 Jan 2008 08:26
Picon
Gravatar

oprofiled crashing on cell?

Hi all,

Running oprofile (0.9.3) on a cell machine (2.6.24-rc7 kernel) I see the
oprofiled intermittently crashing. It only seems to happen when I run an
SPU program.

When it crashes I see this in the log:

oprofiled started Mon Jan  7 18:23:21 2008
kernel pointer size: 8
Read buffer of 98307 entries.
No anon map for pc 0, app anonymous.

Compared to a working run:

oprofiled started Mon Jan  7 18:21:12 2008
kernel pointer size: 8
Read buffer of 11 entries.
Dangling ESCAPE_CODE.
<snip>

I've tried strace'ing oprofiled but that seems to hide the bug. Does
anyone have any ideas?

cheers

--

-- 
Michael Ellerman
OzLabs, IBM Australia Development Lab

(Continue reading)

Maynard Johnson | 7 Jan 2008 16:13
Picon
Favicon

Re: [Cbe-oss-dev] oprofiled crashing on cell?

Michael Ellerman wrote:
> Hi all,
>
> Running oprofile (0.9.3) on a cell machine (2.6.24-rc7 kernel) I see the
> oprofiled intermittently crashing. It only seems to happen when I run an
> SPU program.
>
> When it crashes I see this in the log:
>
> oprofiled started Mon Jan  7 18:23:21 2008
> kernel pointer size: 8
> Read buffer of 98307 entries.
> No anon map for pc 0, app anonymous.
>   
Well, that's definitely badness, but this, in itself, would not cause 
oprofiled to crash.  Is this the last thing you see in the log?  Does 
the daemon fail both with and without the --verbose option?
> Compared to a working run:
>
> oprofiled started Mon Jan  7 18:21:12 2008
> kernel pointer size: 8
> Read buffer of 11 entries.
> Dangling ESCAPE_CODE.
> <snip>
>   
A dangling ESCAPE code is badness, too.  For Cell, a buffer with 11 
entries could mean 3 entries for profiling start header info + 8 entries 
for SPU context info.  The 11th entry would be the offset of the SPU ELF 
data, if embedded; otherwise 0.  According to the above log snippet, the 
11th entry is an ESCAPE_CODE.  This implies to me that another event 
(Continue reading)

Bob Nelson | 7 Jan 2008 20:30
Picon

Re: [Cbe-oss-dev] oprofiled crashing on cell?

On Monday 07 January 2008 09:13:13 am Maynard Johnson wrote:
> Michael Ellerman wrote:
> > Hi all,
> >
> > Running oprofile (0.9.3) on a cell machine (2.6.24-rc7 kernel) I see the
> > oprofiled intermittently crashing. It only seems to happen when I run an
> > SPU program.
> >
> > When it crashes I see this in the log:
> >
> > oprofiled started Mon Jan  7 18:23:21 2008
> > kernel pointer size: 8
> > Read buffer of 98307 entries.
> > No anon map for pc 0, app anonymous.
> >   
> Well, that's definitely badness, but this, in itself, would not cause 
> oprofiled to crash.  Is this the last thing you see in the log?  Does 
> the daemon fail both with and without the --verbose option?
> > Compared to a working run:
> >
> > oprofiled started Mon Jan  7 18:21:12 2008
> > kernel pointer size: 8
> > Read buffer of 11 entries.
> > Dangling ESCAPE_CODE.
> > <snip>
> >   
> A dangling ESCAPE code is badness, too.  For Cell, a buffer with 11 
> entries could mean 3 entries for profiling start header info + 8 entries 
> for SPU context info.  The 11th entry would be the offset of the SPU ELF 
> data, if embedded; otherwise 0.  According to the above log snippet, the 
(Continue reading)

Michael Ellerman | 7 Jan 2008 23:30
Picon
Gravatar

Re: [Cbe-oss-dev] oprofiled crashing on cell?

On Mon, 2008-01-07 at 09:13 -0600, Maynard Johnson wrote:
> Michael Ellerman wrote:
> > Hi all,
> >
> > Running oprofile (0.9.3) on a cell machine (2.6.24-rc7 kernel) I see the
> > oprofiled intermittently crashing. It only seems to happen when I run an
> > SPU program.
> >
> > When it crashes I see this in the log:
> >
> > oprofiled started Mon Jan  7 18:23:21 2008
> > kernel pointer size: 8
> > Read buffer of 98307 entries.
> > No anon map for pc 0, app anonymous.

> Well, that's definitely badness, but this, in itself, would not cause 
> oprofiled to crash.  Is this the last thing you see in the log?  Does 
> the daemon fail both with and without the --verbose option?

This is the entire log and that's running with --verbose, which has no
effect on whether it crashes or not. Here's another run I just  did:

oprofiled started Tue Jan  8 09:23:20 2008
kernel pointer size: 8
Read buffer of 76017 entries.
No anon map for pc 0, app anonymous.

So the buffer size is changing but nothing else.

Any hint as to what the message means? "no anon map?"
(Continue reading)

Michael Ellerman | 7 Jan 2008 23:31
Picon
Gravatar

Re: [Cbe-oss-dev] oprofiled crashing on cell?

On Mon, 2008-01-07 at 13:30 -0600, Bob Nelson wrote:
> On Monday 07 January 2008 09:13:13 am Maynard Johnson wrote:
> > Michael Ellerman wrote:
> > > Hi all,
> > >
> > > Running oprofile (0.9.3) on a cell machine (2.6.24-rc7 kernel) I see the
> > > oprofiled intermittently crashing. It only seems to happen when I run an
> > > SPU program.
> > >
> > > When it crashes I see this in the log:
> > >
> > > oprofiled started Mon Jan  7 18:23:21 2008
> > > kernel pointer size: 8
> > > Read buffer of 98307 entries.
> > > No anon map for pc 0, app anonymous.
> > >   
> > Well, that's definitely badness, but this, in itself, would not cause 
> > oprofiled to crash.  Is this the last thing you see in the log?  Does 
> > the daemon fail both with and without the --verbose option?
> > > Compared to a working run:
> > >
> > > oprofiled started Mon Jan  7 18:21:12 2008
> > > kernel pointer size: 8
> > > Read buffer of 11 entries.
> > > Dangling ESCAPE_CODE.
> > > <snip>
> > >   
> > A dangling ESCAPE code is badness, too.  For Cell, a buffer with 11 
> > entries could mean 3 entries for profiling start header info + 8 entries 
> > for SPU context info.  The 11th entry would be the offset of the SPU ELF 
(Continue reading)


Gmane