news
Kernel Space / File Systems: General Purpose Interface Bus, Ceph, and eBPF
-
Tom's Hardware ☛ 53 years later, bus standard launched by HP in 1972 gets stable Linux driver — General Purpose Interface Bus has blistering 8 MB/s of bandwidth
The General Purpose Interface Bus (GPIB, AKA HP-IB) has finally received stable drivers, and will be merged in the Linux 6.19 kernel release, 53 years after it was launched by HP. Phoronix explains that GPIB support was first added to the mainline Linux kernel last year, but now they have been declared stable.
This driver addition was highlighted by Greg Kroah-Hartman in a staging pull request for Linux 6.19-rc1. “Here is the big set of staging driver updates for 6.19-rc1,” wrote Kroah-Hartman. “Only thing ‘major’ in here is that two subsystems, gpib and vc04 have moved out of the staging tree into the ‘real’ portion of the kernel, which is great to see.” The dev added that these additions have been tested for a while with no reported problems.
-
Gabriel Simmer ☛ Ceph
Ceph is pretty neat. It joins together nodes to pool their storage and replicate objects between them, providing a sort of Kubernetes-for-storage service that I really like (I love Kubernetes so I’m going to use that as a point of reference a lot). And like Kubernetes, it comes with a ton of complexity the average person... probably won’t need in their life.
It starts at the bootstrapping stage. There are two ways to deploy Ceph, effectively - by hand, or using the Cephadm tool to do the hard work for you. Initially I opted for the "by hand" approach, since my goal was to learn Ceph anyways and what better way than to dive in headfirst and ignore things that make life easier.
-
Ritesh Oedayrajsingh Varma ☛ From profiling to kernel patch: the journey to an eBPF performance fix
eBPF (originally “extended Berkeley Packet Filter”, though now used as a standalone term) is a powerful system in the Linux kernel that allows you to safely run custom programs directly inside the kernel. These programs can be attached to various hooks in the kernel called tracepoints, kprobes, or perf events. You can think of an eBPF program as C code that executes whenever a specific kernel event occurs. An example of this is the sched_switch tracepoint, which triggers on every thread context switch.
Superluminal uses eBPF to collect performance data such as context switches and sampling events.