Extending futex for kernel to user notification

  • Authors:
  • Helge Bahmann;Konrad Froitzheim

  • Affiliations:
  • TU Freiberg, Freiberg, Germany;TU Freiberg, Freiberg, Germany

  • Venue:
  • ACM SIGOPS Operating Systems Review - Research and developments in the Linux kernel
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Threads in reactive applications need to service a multitude of events from different sources such as device drivers, communication channels or cooperating threads. While notification about these events can conceptually be understood as a form of "synchronization", most operating systems (including Linux) do not provide a unified abstraction. This paper proposes to separate event delivery and notification, and to provide unified event notification through general-purpose synchronization objects. It demonstrates how this unified mechanism can be implemented in Linux as an extension of the futex mechanism to allow notification from kernel-space. Required modifications are discussed and their impact is assessed. The new event notification mechanism allows to move many thread activation policy decisions into user-space, with benefits for multi-threaded reactive applications: This is demonstrated in a modification of the leader/followers pattern with considerable performance benefits.