discussing syslink: an efficient inter-processor communication system for mobile devices


One Line Summary

mainlining Syslink: discussion of problems/solutions towards an efficient Inter-Processor Communication system for mobile Linux devices that employ extra slave remote processors


Next-gen phones and multimedia devices boast an increasing number of processors running independent OS instances, all working together to smooth execution of CPU-intensive use cases.

A typical system would employ a central application processor running Linux, with several specialized co-processors running flavors of real-time OS with dedicated DSP codecs and multimedia acceleration functions.

We would like to discuss problems encountered while developing such performance-focused cross-os ipc system, and to propose solutions that will hopefully help other users too:

- allow both user space and kernel drivers to send and receive messages to/from remote processors
- allow several remote processors to concurrently manipulate shared data structures

examples of generic problems/solutions that would require mainlining:

- mplist: a multi-processor-safe linked list that allows easy & fast message passing between remote processors (employing shared physical memory and next/prev pointer addressing that stays valid despite different memory mappings)

- hardware spinlocks: allow easy & fast synchronizations between remote processors

Interfaces of proposed system includes:

- a syslink bus that allows kernel modules to easily send simple messages to remote processors

- AF_SYSLINK protocol family that allows user space to send unicast/broadcast messages to remote processors employing different types of communication protocols


  • Suman Anna

    Texas Instruments Inc


    Suman Anna is working as a Sr. Software Design Engineer at Texas Instruments, Inc. Suman had been working in the area of Inter-Processor Communication(IPC) and worked on multiple embedded OSs on various TI OMAP chipsets since 2006. Suman is currently a lead developer for the SysLink Linux IPC driver on OMAP4.

  • Ohad Ben-Cohen

    Texas Instruments


    Long time Linux Kernel and Free/Open Source Software developer, past speaker at the Linux Symposium, Black Hat USA and OWASP IL and Founder of Wizery ltd., a Free/Open Source Software consulting firm.

  • Hari Kanigeri

    Texas Instruments Inc


    Hari Kanigeri has been with Texas Instrument’s Wireless Division since 2004, working on OMAP based Modem Processor drivers and Multimedia Application Processor IPC Drivers. He worked as the Technical lead for OMAP3 Linux DSPBridge, and is currently working on enabling generic Multicore IPC for OMAP4 Processor.

Leave a private comment to organizers about this proposal