Title
Hotswapping Linux kernel modules
Abstract
Contemporary operating system kernels are able to improve their functionality by installing kernel extensions at runtime. However, when an existing kernel extension needs to be upgraded, it must be completely removed before the new kernel extension is installed. Consequently, the new kernel extension needs to be run from the beginning, which also influences the applications using this kernel extension. This work describes the design and implementation of a Linux module system that supports hotswapping, in which a module can be replaced while it is in use. Rather than completely removing the old module, the new module can inherit the state held by the old module so the dependent applications are not affected. For example, a Linux file system module can be hotswapped without unmounting the corresponding partitions and terminating the applications that use these partitions. The proposed system is implemented on Linux kernel 2.6.11. Existing modules can be loaded into the hotswap system without change and can be hotswapped by changing only a few lines. Additionally, the hotswap system does not impose any runtime overhead on module invocations.
Year
DOI
Venue
2006
10.1016/j.jss.2005.05.011
Journal of Systems and Software
Keywords
Field
DocType
old module,linux file system module,linux module system,new kernel extension,operating system,contemporary operating system kernel,hotswapping linux kernel module,module invocation,module,hotswap system,dynamic software update,hotswapping,new module,kernel extension,linux kernel,dynamic software updating
JFFS2,epoll,sysfs,Computer science,OpenZFS,Real-time computing,inotify,Configfs,Operating system,procfs,Linux kernel,Embedded system
Journal
Volume
Issue
ISSN
79
2
The Journal of Systems & Software
Citations 
PageRank 
References 
6
0.55
11
Authors
2
Name
Order
Citations
PageRank
Yueh-Feng Lee1213.34
Ruei-Chuan Chang226756.19