1 Feb 2007 10:59
Running real time task on one of the cores of a Dual Core CPU
M. Koehrer <mathias_koehrer <at> arcor.de>
2007-02-01 09:59:17 GMT
2007-02-01 09:59:17 GMT
Hi all, I have some results and some questions on running Xenomai on a Dual Core CPU. At my PC I have a Pentium D CPU (3.2 GHz), kernel 2.6.19.2, Xenomai 2.3 + some COW patches. In the kernel I have enabled SMP. The first interesting thing I noticed is that this kernel seems to run all standard processes on core 0. The kernel does not automatically distribute processes on two cores. I think I saw a different behaviour with an earlier kernel version (2.6.17 or even 2.4.33). I do not have to use the isolcpus kernel parameter to force running all user space tasks on core 0. This is exactly the thing I wanted to have. All "standard" linux tasks are running on core 0. Does anybody know if there was a change in the kernel? Now I placed all real time tasks from Xenomai on core 1. This works fine. My application calculates periodically a fairly complex simulation model. The interesting thing is now, that the computation time needed for this model is much more constant in opposite to the UP mode. On an UP system I had computation times between 111 and 170 microseconds. With the SMP system I have now computation times between 111 and 115 microseconds. Great! The worst case execution time is very close to the best case execution time! I think this is caused by a more deterministic usage of the cache for the real time system. In the UP system the cache cannot be reserved for the real time application, i.e. the real time application has to re-read more often directly from memory. Now my questions: In a setup that uses core 0 for standard linux stuff and core 1 for Xenomai stuff the Xenomai scheduler is running in SMP mode. However, I am not sure if this required in this setup. As all real time code is bound to one core there does not have to be any multi processing save synchronisation for the real time code. My proposal is to support three different scheduling modes:(Continue reading)
RSS Feed