Any clues, anybody?

Thanks,
Gopal Sukumar.

Gopal Sukumar wrote:
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, &params);
physAddr = CMEM_getPhys(buffer);

/* Some operation in respective threads */

In thread A (Not in other threads):
CMEM_AllocParams params = CMEM_DEFAULTPARAMS;
CMEM_free(buffer, &params);

In thread A (Not in other threads):
CMEM_AllocParams params = CMEM_DEFAULTPARAMS;
poolId = CMEM_getPool(size);
buffer = CMEM_allocPool(poolId, &params);
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

Reply via email to