Linux Symposium, July 13th - 17th, 2009, Montreal, Canada
Centre Mont-Royal
Montreal, Canada
July 13-17, 2009

Register / Login

Paper Guide


Project Updates

Travel & Hotel
Costs & Savings




Porting to Linux the Right way: Migrating data between kernel and user space

Neil Horman (

Linux has grown to be a major development platform over the last decade, often becoming the primary target for many new applications and appliances. Of course, businesses always wanting to stay current, the rate at which software has been ported to Linux has also gone on the rise. Often this is a trivial matter, especially in environments in which the development model is simmilar (AIX to Linux, Solaris to Linux, even Windows to Linux). However, there are environment (particularly in the embedded space) in which porting often becomes difficult. A stronger coupling of application and driver, coupled with a "just get it working fast" mentality invariably leads to substandard porting efforts which result in products with degraded performance, that leave developers and consumers alike with a bad taste in their mouths. This paper seeks to ease some of that porting effort, by focusing on what has been one of the most often mis-ported areas of code: The user space / kernel space boundary, specifically the movement of data between these domains. This paper will discuss in general terms: The common monolithic application model most often associated with embedded systems development, Its refactoring when porting to Linux, the modeling and description of data that must be passed between the refactored components when porting to Linux, and the selection of an appropriate mechanism for moving that data back and forth between user and kernel space. In so doing, the reader will be exposed to several mechanisms which can be leveraged to achieve a superiorly ported software product that provides both a better customer experience and a greater confidence in Linux as a future development platform.

Major Sponsors
Minor Sponsors
Wireless Networking

register | call for papers

Copyright © 2009 Linux Symposium Inc. All rights reserved.
Linux is a registered trademark of Linus Torvalds.