Hi I am trying to implement a thread pool on the SPEs. I got the basic idea from the MARS (Multi-core Acceleration Runtime System), an open source programming system from Sony Developer Support. I have three questions.
I refer to the the persistent loader thread as a kernel thread and the text of the user elf as a user program.
#1 For the kernel thread, why do we need to do a -Wl --defsym=__stack=<some address> in the linker, where <some address> is below the entry point for user program,
-I don't see any change with or without this option. The stack is unaffected.
#2 Is this what is meant by out-of-module function call?
#3 Is there a way to place the user program in a location other than its text vaddr location
I want to double buffer the user threads, but I don't want to explicitly compile the user program twice with each location. That is the reason I am asking.
I am using the gnu tool chain in the SDK for Multi-core acceleration 3.X.
Yes I have an old PS3 which hasn't been updated.
Thanks a lot!