[$] Stochastic bisection in Git

Regressions are no fun; among other things, finding the source of a
regression among thousands of changes can be a needle-in-the-haystack sort
of problem. The git
bisect
command can help; it is a (relatively) easy way to sift through
large nu…

Haas: Surviving Without A Superuser – Part One

PostgreSQL developer Robert Haas has begun
a blog series on what would be needed to allow database administrators
to safely delegate superuser powers.

Consider, for example, the case of a service provider who would
like to support a database…

[$] Blocking straight-line speculation — eventually

The Spectre class of vulnerabilities was given that name because, it was
thought, these problems would haunt us for a long time. As the fourth
anniversary of the disclosure of Meltdown and
Spectre approaches, there is no reason to doubt the acc…

Linux Foundation 2021 annual report

For those who would like to catch up on what the Linux Foundation has been
doing, the 2021
annual report is available as an 87-page PDF file.

In 2021, The Linux Foundation continued to see organizations
embrace open collaboration and open so…

[$] A reference-count tracking infrastructure

Reference counts are a commonly used mechanism for tracking the life cycle
of objects in a computing system. As long as every user of an object
correctly maintains its references by incrementing and decrementing the
reference count, that object…

Kernel prepatch 5.16-rc4

The fourth 5.16 kernel prepatch is out for
testing. “Nothing looks all that scary, although I certainly hope
the kvm side will calm down”.

[$] A filesystem for namespaces

It is natural, when looking at the kernel development process, to focus on
patches that find their way to acceptance and become a part of future
kernels. But there can be value in looking at work that doesn’t clear the
bar; in failing, these pa…

[$] Detecting missing memory barriers with KCSAN

Writing (correct) concurrent code that uses locking to avoid race
conditions is difficult enough. When the objective is to use lockless algorithms, relying on memory
barriers instead of locks to eliminate locking overhead, the problem
becomes h…