I am planning to allocate memory which is used by a different processor by making the calls specified in ion_heap_create functions.
Please see: https://android.googlesource.com/kernel/msm/+/android-msm-mako-3.4-jb-mr1/drivers/gpu/ion/ion_heap.c
ion-heap used the following linux functions shown below header file: http://lxr.free-electrons.com/source/include/linux/genalloc.h#L78
Now, this piece of memory will be used by Another processor for its needs and Linux will not use these.
This is my understanding - So, My question is Will such a thing leave to fragmentation issues.
Suppose it is like this: |--------------| | Linux Memory | |------------- | | Carveouts | |------------- | |Linux Memory |
Question is How does linux handle such a scenario? Does Virtual memory subsystem know anything about the carveouts if so, how does it ensure that linux process/kernel does not use the memory in the carveouts.