Hi, Please find the information below.
CMEM setup: phys_start=0x87000000 phys_end=0x88000000 pools=5x40960,15x1048576 Sequence of calls: CMEM_init(); /* do something */ In other threads including thread A (for each buffer): CMEM_AllocParams params = CMEM_DEFAULTPARAMS; poolId = CMEM_getPool(size); buffer = CMEM_allocPool(poolId, ¶ms); physAddr = CMEM_getPhys(buffer); /* Some operation in respective threads */ In thread A (Not in other threads): CMEM_AllocParams params = CMEM_DEFAULTPARAMS; CMEM_free(buffer, ¶ms); In thread A (Not in other threads): CMEM_AllocParams params = CMEM_DEFAULTPARAMS; poolId = CMEM_getPool(size); buffer = CMEM_allocPool(poolId, ¶ms); physAddr = CMEM_getPhys(buffer); /* FAILURE during some Operation */ Please advise. Thanks, Gopal Sukumar. Vladimir Pantelic wrote: Gopal Sukumar wrote: Hello all, Is there a limitation in cmem kernel module that one has to deallocate all pools before allocation rather than selectively deallocating and allocating specific pools? The problem I face is: whenever I allocate all pools, deallocate specific pools, allocate them back, use them - my application is getting killed But when I allocate all pools, deallocate all pools, allocate all of them again - I dont get this problem. could you elaborate a bit more on what you are doing and how it fail? with "allocate" you mean getting buffers from CMEM, right? Please state your CMEM setup and the sequence of alloc and free that you do. _______________________________________________ Davinci-linux-open-source mailing list [email protected]<mailto:[email protected]> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source ________________________________ http://www.mindtree.com/email/disclaimer.html
_______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
