Thanks Chris, Your guess was correct.
DSKT2.ALLOW_EXTERNAL_SCRATCH parameter in server.cfg file was set to "false". Changing it to "true", solved the problem J Thanks again J Viraj From: Ring, Chris [mailto:[EMAIL PROTECTED] Sent: Monday, March 10, 2008 11:16 PM To: Viraj Karandikar; davinci-linux-open-source@linux.davincidsp.com Subject: RE: Error "Remote node creation FAILED " for multithreaded application & combo server I don't suspect this to be a Link error as a fork on this thread is chasing. More likely, it's a mis-configured server.cfg script. As a simple example, consider the following: * codec A and codec B share internal scratch memory * codec A needs 40k, codec B needs 50k * codec A and B are placed into scratch group 0 * there is 64k configured for internal memory The server.cfg script _should_ configure 50k (the max for all codecs) into scratch group 0. However, if the server.cfg script only configured 40k... * If codec A is created first, 40k (max of configured mem - 40k - and requested mem - 40k) will be allocated. When codec B is created, there's not enough memory in scratch (only 40k was allocated), so the creation of alg B may fail. * If codec B is created first, 50k (max of configured mem - 40k - and requested mem - 50k) will be allocated. Creating codec A later will succeed. [ That's a simple example, but the same concept applies to DMA and other resources as well. ] These can get a bit tricky - I might suggest you open a ticket with TI's software support so they can help dig in a bit more. Unfortunately, CE 1.02 had little tracing support for getting further insight into these complex codec resources requests. CE 2.00 and later have much better tracing support for these things, if you have the flexibility to upgrade. Chris ________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Viraj Karandikar Sent: Sunday, March 09, 2008 9:48 PM To: davinci-linux-open-source@linux.davincidsp.com Subject: Error "Remote node creation FAILED " for multithreaded application & combo server Hi, I have a combo server with multiple codecs on DSP side and a multithreaded application on arm side. The application creates a thread for each codec. Each thread opens engine and calls codec APIs. Problem I am facing is, if I try to open 8 threads for codec A first and then 8 threads for codec B, it works fine. But if I reverse the codec order (i.e if I open 8 threads for codec B first and then 8 threads of codec A, then for codec A threads I am getting error as -> @0x00084474:[T:0x0002800b] CE - Engine_createNode> Remote node creation FAILED (0x80008008). Number of threads out of 8 of codec A which give this error varies for each run. I have checked and I am getting non-NULL CE handle with no error code. Also somewhere on net I read that above error code 0x80008008 indicates dsp link layer version mismatch. But then this error should have come in all cases for all threads. I also tried ensuring that a thread's call to Engine_open() is complete before other thread calls its Engine_open. (by using mutex) . But it didn't resolve the problem. If I create any number of threads only for codec A or only for codec B, then application works fine with no errors. Any help is welcome J Regards, Viraj ********************************************************************** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify [EMAIL PROTECTED] **********************************************************************
_______________________________________________ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source