On 07/30/2013 01:46 PM, Geert Uytterhoeven wrote:
linux-embed...@vger.kernel.org
Hi Geert,
Thanks a lot for the pointer.
Astonishingly that list a a lot less busy than this here :-(
Just to let you (and others) know:
We found out that the idea I had (dedicating one of multiple CPUs in a
chip for AMP-non-Linux use, while the other run SMP Linux) seems to be
viable and doable, but seemingly not very widely supported by the
Kernel developers.
You can easily exclude a dedicated CPU from SMP, but seemingly the
scheduler might need some tweaking to prevent performance degrading. (I
failed to understand why this should be the case.)
In fact dedicated AMP even is fully supported by ARM Cortex A9 hardware:
- The interrupt sources seemingly can be dynamically assigned to any
core. So setting aside a core for AMP with dedicated interrupts for
embedded Hardware should be no problem.
- Each CPU features an "AMP" bit in a configuration register. With
that the 1st level cache synchronization is switched off.
The cache synchronization would be the major latency risk imposed by the
other processors to the dedicated AMP CPU. By switching it off, you can
calculate the max latency by just considering the bus scheduling latency
(besides the "local" issues). For communication between the Linux- and
the AMP- systems you would need to use a non-cached memory region
similar to DMA and of course Linux can't modify the other AMP's memory
regions on the fly.
Thanks again,
-Michael
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev