Re: [Cbe-oss-dev] [RFC, PATCH] CELL Oprofile SPU profiling updatedpatch

From: Maynard Johnson
Date: Thu Feb 15 2007 - 19:34:33 EST


Arnd Bergmann wrote:

On Thursday 15 February 2007 00:52, Carl Love wrote:




--- linux-2.6.20-rc1.orig/arch/powerpc/oprofile/Kconfig 2007-01-18 16:43:14.000000000 -0600
+++ linux-2.6.20-rc1/arch/powerpc/oprofile/Kconfig 2007-02-13 19:04:46.271028904 -0600
@@ -7,7 +7,8 @@

config OPROFILE
tristate "OProfile system profiling (EXPERIMENTAL)"
- depends on PROFILING
+ default m
+ depends on SPU_FS && PROFILING
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,



Milton already commented on this being wrong. I think what you want
is
depends on PROFILING && (SPU_FS = n || SPU_FS)

that should make sure that when SPU_FS=y that OPROFILE can not be 'm'.


The above suggestion would not work if SPU_FS is not defined, since the entire config option is ignored if an undefined symbol is used. So, here's what I propose instead: - Leave the existing 'config OPROFILE' unchanged from its current form in mainline (shown below)
- Add the new 'config OPROFILE_CELL' (shown below)
- In arch/powerpc/configs/cell-defconfig, set CONFIG_OPROFILE=m, to correspond to setting for CONFIG_SPU_FS
- In arch/powerpc/oprofile/Makefile, do the following:
oprofile-$(CONFIG_OPROFILE_CELL) += op_model_cell.o \
cell/spu_profiler.o cell/vma_map.o cell/spu_task_sync.o

===========
config OPROFILE
tristate "OProfile system profiling (EXPERIMENTAL)"
depends on PROFILING
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
and applications.

If unsure, say N.

config OPROFILE_CELL
bool "OProfile for Cell Broadband Engine"
depends on OPROFILE && SPU_FS
default y if ((SPU_FS = y && OPROFILE = y) || (SPU_FS = m && OPROFILE = m))
help
Profiling of Cell BE SPUs requires special support enabled
by this option. Both SPU_FS and OPROFILE options must be
set 'y' or both be set 'm'.
=============

Can anyone see a problem with any of this . . . or perhaps a suggestion of a better way?

Thanks.

-Maynard

-
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/