Development of a RCU Binding for Lua tables
- Mentors
- Pedro Tammela, Ana Lucia de Moura
- Organization
- LabLua
Lunatik is a programming environment based on the Lua language for kernel scripting. By allowing kernel scripting, a user may create scripts in Lua to customize their kernel to suit their needs. Modern day kernels, such as Linux, work on a highly concurrent environment, and therefore must use robust synchronization APIs to ensure data consistency, with each API having their own use cases.
The Read-copy-update (RCU) is one of those APIs, made specifically for scenarios where data reading is much more common than writing. RCU allows concurrent readers to access protected data in a non-blocking way even during updates or removals. RCU, as with the rest of the Linux Kernel, is written in C.
The project idea is a binding of RCU for use in Lunatik, thus allowing synchronization of Lua data via RCU.