~/talk

Plan to Throw One Away Pitfalls of API Design for Low-level User-space Libraries & Kernel Interfaces

links:none on file
slides:none on file

libgpiod and the GPIO character device evolve because v1 locks in struct layouts and APIs that users later demand to extend; after four years a v2 branch adds padding to exposed structs and switches to opaque containers so frequent allocations stay fast. The project also fixes 32/64-bit and 64-to-32 compatibility by explicit padding, changes timestamps to support monotonic and real-time (and upcoming hardware), and redesigns the model so line info is a snapshot and requests operate on sets of lines, enabling a forward-compatible user-space API.

AI-written summary · about

  1. 0:00Intro
  2. 1:56GPIO character device & libgpiod
  3. 3:24Types of compatibility
  4. 9:43Add reserved space to your exposed structures
  5. 10:53Make all data structures exposed in library headers opaque
  6. 17:02Lesson #3 Make sure your exposed structures work on 32 and 64-bit architectures
  7. 19:06Some surprising details can break the ABI
  8. 21:20Don't try to keep the user-space data model same as the one in the kernel
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.