news
Kernel: io_uring, Entropy, and More
-
Sharon Rosner ☛ Exploring automatic Buffer Management with io_uring
Here’s a quick recap of what UringMachine does: UringMachine provides a low-level API for performing I/O operations using io_uring, which is an interface for performing I/O operations asynchronously on recent Linux kernels.
-
Gabriel Simmer ☛ Entropy
I sat down one day and got really fixated on Linux entropy. Did you know you can feed a Linux system's entropy pool by just writing data to /dev/{u}random? Further, did you know that there's actually very little difference between urandom and random, besides its behaviour before the system is satisfied it has enough entropy? Also, they're re-seeded very frequently at boot using data from the entropy pool itself, and then every minute once boot is finished? I highly recommend this talk from the Wireguard creator Jason Donenfeld that goes into modernising the kernel's random.c implemtation, and hints at some future plans. Watching that talk also gives a bit more context to some of the decisions I'll talk about later in this post.
-
LWN ☛ Moving beyond fork() + exec()
Chen's patch set takes an interesting approach to optimize the fork() and exec() pattern. It is focused on applications that repeatedly launch processes running the same executable; imagine, for example, a program that must run Git repeatedly to obtain information about the contents of a repository. In such cases, the program could establish a template to accelerate those invocations, spreading the setup cost across multiple operations. This template would be created with the spawn_template_create() system call: [...]