[Cbe-oss-dev] [PATCH] OProfile: fix Kconfig changes in the 2.6.23 kernel

Bob Nelson rrnelson at linux.vnet.ibm.com
Thu Nov 1 07:05:36 EST 2007


Geert Uytterhoeven wrote:
> On Tue, 30 Oct 2007, Bob Nelson wrote:
>   
>> The OPROFILE_CELL config option was deleted in a recent restructuring of the
>> Kconfig files in the 2.6.23 kernel tree.  This will break Cell SPU profiling.
>> This patch adds it back in as a silent option.
>>
>> Signed-off-by: Bob Nelson <rrnelson at us.ibm.com>
>>     
>
> ps3_defconfig + enabling PROFILING and OPROFILE now gives:
>   
Have you built OProfile for PS3 before this?  If so I assume you did not 
set OPROFILE_CELL=y or you should have gotten the same build failures as 
far as I can tell.  I can make OPROFILE_CELL depend on PPC_CELL_NATIVE 
which the PS3 config does not set.  That will prevent the SPU profiling 
code from compiling and since it won't work on the PS3 that is probably 
a good thing...  I think the only thing that might work on the PS3 is 
timer mode on the PPU, have never tried it though as we don't have a PS3 
handy to test it on...  I'll add the additional dependency to the config 
and repost the patch.

> | arch/powerpc/oprofile/built-in.o: In function `cell_handle_interrupt':linux/arch/powerpc/oprofile/op_model_cell.c:1134: undefined reference to `.cbe_disable_pm'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:1136: undefined reference to `.cbe_get_and_clear_pm_interrupts'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:1153: undefined reference to `.cbe_write_ctr'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:1165: undefined reference to `.cbe_enable_pm_interrupts'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:1177: undefined reference to `.cbe_enable_pm'
> | arch/powerpc/oprofile/built-in.o: In function `rtas_ibm_cbe_perftools':linux/arch/powerpc/oprofile/op_model_cell.c:184: undefined reference to `.rtas_call'
> | arch/powerpc/oprofile/built-in.o: In function `cell_global_stop_spu':linux/arch/powerpc/oprofile/op_model_cell.c:1046: undefined reference to `.cbe_get_hw_thread_id'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:1055: undefined reference to `.cbe_cpu_to_node'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:1055: undefined reference to `.rtas_call'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:1066: undefined reference to `.cbe_cpu_to_node'
> | arch/powerpc/oprofile/built-in.o: In function `cell_global_stop_ppu':linux/arch/powerpc/oprofile/op_model_cell.c:1086: undefined reference to `.cbe_get_hw_thread_id'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:1089: undefined reference to `.cbe_cpu_to_node'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:1089: undefined reference to `.cbe_sync_irq'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:1091: undefined reference to `.cbe_disable_pm'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:1094: undefined reference to `.cbe_cpu_to_node'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:1097: undefined reference to `.cbe_disable_pm_interrupts'
> | arch/powerpc/oprofile/built-in.o: In function `cell_cpu_setup':linux/arch/powerpc/oprofile/op_model_cell.c:673: undefined reference to `.cbe_get_hw_thread_id'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:677: undefined reference to `.cbe_disable_pm'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:678: undefined reference to `.cbe_disable_pm_interrupts'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:680: undefined reference to `.cbe_write_pm'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:681: undefined reference to `.cbe_write_pm'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:682: undefined reference to `.cbe_write_pm'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:683: undefined reference to `.cbe_write_pm'
> | arch/powerpc/oprofile/built-in.o: In function `write_pm_cntrl':linux/arch/powerpc/oprofile/op_model_cell.c:382: undefined reference to `.cbe_write_pm'
> | arch/powerpc/oprofile/built-in.o: In function `cell_cpu_setup':linux/arch/powerpc/oprofile/op_model_cell.c:688: undefined reference to `.cbe_cpu_to_node'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:697: undefined reference to `.cbe_cpu_to_node'
> | arch/powerpc/oprofile/built-in.o: In function `cell_global_start_spu':linux/arch/powerpc/oprofile/op_model_cell.c:908: undefined reference to `.cbe_get_hw_thread_id'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:916: undefined reference to `.cbe_write_pm'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:933: undefined reference to `.cbe_cpu_to_node'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:944: undefined reference to `.cbe_cpu_to_node'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:944: undefined reference to `.rtas_call'
> | arch/powerpc/oprofile/built-in.o: In function `cell_global_start_ppu':linux/arch/powerpc/oprofile/op_model_cell.c:979: undefined reference to `.cbe_get_hw_thread_id'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:986: undefined reference to `.cbe_write_ctr'
> | arch/powerpc/oprofile/built-in.o: In function `enable_ctr':linux/arch/powerpc/oprofile/op_model_cell.c:412: undefined reference to `.cbe_write_pm07_control'
> | arch/powerpc/oprofile/built-in.o: In function `cell_global_start_ppu':linux/arch/powerpc/oprofile/op_model_cell.c:992: undefined reference to `.cbe_write_pm07_control'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:996: undefined reference to `.cbe_get_and_clear_pm_interrupts'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:997: undefined reference to `.cbe_enable_pm_interrupts'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:998: undefined reference to `.cbe_enable_pm'
> | arch/powerpc/oprofile/built-in.o: In function `cell_virtual_cntr':linux/arch/powerpc/oprofile/op_model_cell.c:467: undefined reference to `.cbe_get_hw_thread_id'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:474: undefined reference to `.cbe_disable_pm'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:475: undefined reference to `.cbe_disable_pm_interrupts'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:477: undefined reference to `.cbe_read_ctr'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:495: undefined reference to `.cbe_write_ctr'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:515: undefined reference to `.cbe_write_pm07_control'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:520: undefined reference to `.cbe_enable_pm_interrupts'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:522: undefined reference to `.cbe_enable_pm'
> | arch/powerpc/oprofile/built-in.o: In function `cell_reg_setup':linux/arch/powerpc/oprofile/op_model_cell.c:553: undefined reference to `.rtas_token'
> | :linux/arch/powerpc/oprofile/op_model_cell.c:563: undefined reference to `.rtas_token'
> | arch/powerpc/oprofile/built-in.o: In function `profile_spus':linux/arch/powerpc/oprofile/cell/spu_profiler.c:136: undefined reference to `.cbe_get_hw_thread_id'
> | :linux/arch/powerpc/oprofile/cell/spu_profiler.c:139: undefined reference to `.cbe_cpu_to_node'
> | arch/powerpc/oprofile/built-in.o: In function `spu_pc_extract':linux/arch/powerpc/oprofile/cell/spu_profiler.c:84: undefined reference to `.cbe_read_trace_buffer'
> | arch/powerpc/oprofile/built-in.o: In function `cell_spu_pc_collection':linux/arch/powerpc/oprofile/cell/spu_profiler.c:120: undefined reference to `.cbe_read_pm'
> | arch/powerpc/oprofile/built-in.o: In function `number_of_online_nodes':linux/arch/powerpc/oprofile/cell/spu_task_sync.c:359: undefined reference to `.cbe_cpu_to_node'
>
> With kind regards,
>
> Geert Uytterhoeven
> Software Architect
>
> Sony Network and Software Technology Center Europe
> The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium
>
> Phone:    +32 (0)2 700 8453	
> Fax:      +32 (0)2 700 8622	
> E-mail:   Geert.Uytterhoeven at sonycom.com	
> Internet: http://www.sony-europe.com/
>  	
> Sony Network and Software Technology Center Europe	
> A division of Sony Service Centre (Europe) N.V.	
> Registered office: Technologielaan 7 · B-1840 Londerzeel · Belgium	
> VAT BE 0413.825.160 · RPR Brussels	
> Fortis Bank Zaventem · Swift GEBABEBB08A · IBAN BE39001382358619





More information about the cbe-oss-dev mailing list