Hello,
On 06.11.2014 14:00, Christian Menard wrote:
this issue is related to my previous message. My goal is not only to run VBox+Android but also some other secure applications in parallel. Therefore I introduced a small server that multiplexes the Input and Framebuffer session so that it is possible to switch between Android and Nitpicker based on a key stroke. I attached a runscript to illustrate the setup.
Compared to your first setup you dropped in this run script the assignment of priorities to more critical servers. This is of no good for services which needs proper (softreal)-time execution, especially, timer, drivers, graphical server.
In my setup VBox+Android are executed on one CPU and everything else runs on another CPU. This SMP setup is necessary as otherwise Android stops booting up. Parallel load during startup of Android seems to have some influence and stops execution of the VM, but so far I could not identify the reason.
Please assign proper priority levels and see if the problem persists.
To the problem: Not only the performance of Android is very bad, but the whole system feels slow and unresponsive. Applications like liquid_framebuffer are significantly slowed down when VBox is running. This happens also when the VM is actually in a halted state. I find it very strange that VBox running on one CPU has such a strong impact on the performance of Apps running on another CPU. It leaves me wondering if there is something wrong with synchronization or the scheduler itself. Do you have any ideas or hints?
The core services and init are running on the boot CPU. By moving all critical servers to another CPU (as done in your run script) you get a lot of cross CPU switching overhead, whenever the services call init or core.
The better approach is to start VBox on another CPU instead, actually I doesn't know whether this is already works ...
Cheers,
Alex.
All best Christian
genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main