The first Linux port for the ARC processor family was done in 2006. From the initial frustrating/fun days of stabilising it (hunting ‘random’ segfaults), it now is a mature solution deployed in many products. System wide improvements over time include software (kernel and uClibc), tool-chain (gcc toggles, new builtins/peepholes), and new hardware features. The current step in evolution is to get it mainlined into kernel.org.
This presentation shares technical challenges and solutions pertaining to ARC kernel Port, and explains the main optimisations that have been done (for ARC, but many can be/are applied to other architectures as well). Finally, we discuss the mainlining effort including the upfront home work and well received assistance of Linux Foundation in the process. The talk will be interesting for any Linux kernel developer who wants to learn about architecture/kernel details.