Re: [Cbe-oss-dev] [RFC, PATCH 4/4] Add support to OProfile for profiling Cell BE SPUs -- update
From: Maynard Johnson <hidden>
Date: 2007-02-04 17:33:45
Also in:
lkml
Arnd Bergmann wrote:
On Sunday 04 February 2007 00:49, Maynard Johnson wrote:quoted
I seem to recall looking at this option a while back, but didn't go that route since struct spu_context is opaque to me. With such a teqnique, I could then use a simple 16-element array of pointers to cached_info objects, creating them as needed when spu_context->profile_private is NULL. I suppose the better option for now is to add a get_profile_private() function to SPUFs, rather than requiring spu_context to be visible.Yes, that sounds good. Note that the file providing the spufs_get_profile_private (and respective spufs_set_profile_private) functions needs to be compiled into the kernel then in case oprofile gets linked in but spufs is a module.
Hmm . . . we already depend on the register/unregister functions in sched.c, so my patch changes the oprofile Kconfig to default to 'm' and 'depends on SPU_FS'.
I think it would also be necessary to have another interface for cleaning up this data when spufs destroys the context. That could possibly a variation of the existing notifier call, or a new call, or you establish the convention that if the private pointer is non-NULL, spufs will kfree it.
Yes, I was thnking along the lines of your last suggestion. I presume OProfile gets notified (object_id == 0) before the context is actually destroyed. At that time, we would NULL-out the reference to the cached_info, so then SPUFS would kfree it at destroy time. -Maynard
Arnd <><