All posts by corbet

[$] “git request-pull” and confusing diffstats

Post Syndicated from corbet original https://lwn.net/Articles/802797/rss

When a kernel subsystem maintainer has a set of commits to send up the
chain toward the mainline, the git request-pull
command
is usually
the right tool for the job. But various maintainers have noticed over the
years that this command can sometimes generate confusing results when
confronted with anything but the simplest of histories. A brief
conversation on the linux-kernel mailing list delved into why this
situation comes about and what maintainers can do in response.

[$] Implementing alignment guarantees for kmalloc()

Post Syndicated from corbet original https://lwn.net/Articles/802469/rss

kmalloc() is a frequently used primitive for the allocation of
small objects in the kernel. During the 2019
Linux Storage, Filesystem, and Memory Management Summit
, Vlastimil
Babka led a session about the unexpected
alignment problems developers face when using this function. After a few
months he has come back with the second
version of a patch set
implementing a natural alignment guarantee for
kmalloc(). From the strong opposition it faced
initially, it seemed that the change would not get accepted. However, it
ended up in Linus Torvalds’s tree. Let’s explore what happened.

[$] Really fixing getrandom()

Post Syndicated from corbet original https://lwn.net/Articles/802360/rss

The final days of the 5.3 kernel development cycle included an extensive discussion of the
getrandom() API
and the reversion of an ext4 improvement that
was indirectly causing boot hangs due to a lack of entropy. Blocking
filesystem improvements because they are too effective is clearly not a
good long-term development strategy for the kernel, so there was a
consensus that some sort of better solution had to be found. What was lacking
was an idea of what that solution should be. It is thus surprising that
the problem appears to have been dealt with in 5.4 with little in the way
of dissent or disagreement.

Bazel 1.0 released

Post Syndicated from corbet original https://lwn.net/Articles/802541/rss

Google has announced
version 1.0
of its Bazel build
system. “A growing list of Bazel
users attests to the widespread demand for scalable, reproducible, and
multi-lingual builds. Bazel helps Google be more open too: several large
Google open source projects, such as Angular and TensorFlow, use
Bazel. Users have reported 3x test time reductions and 10x faster build
speeds after switching to Bazel.

KDE Plasma 5.17 released

Post Syndicated from corbet original https://lwn.net/Articles/802302/rss

The KDE project has announced the
release of version 5.17 of the Plasma desktop environment.
Night Color, the color-grading system that relaxes your eyes when
the sun sets, has landed for X11. Your Plasma desktop also recognizes when
you are giving a presentation, and stops messages popping up in the middle
of your slideshow. If you are using Wayland, Plasma now comes with
fractional scaling, which means that you can adjust the size of all your
desktop elements, windows, fonts and panels perfectly to your HiDPI
monitor.

PyPy 7.2 released

Post Syndicated from corbet original https://lwn.net/Articles/802276/rss

Version
7.2
of PyPy, an implementation of the Python language, is out. With
this release, Python 3.6 release is deemed ready: “This release
removes the ‘beta’ tag from PyPy3.6. While there may still be some small
corner-case incompatibilities (around the exact error messages in
exceptions and the handling of faulty codec errorhandlers) we are happy
with the quality of the 3.6 series and are looking forward to working on a
Python 3.7 interpreter.

[$] Finding race conditions with KCSAN

Post Syndicated from corbet original https://lwn.net/Articles/802128/rss

Race conditions can be some of the trickiest bugs to find. The resulting
problems can be subtle, and reproducing the problem in order to track it
down can be difficult or impossible; often code inserted to narrow down a
race condition will cause it to stop manifesting entirely. A tool that can
find race conditions automatically would thus be a valuable thing for the
kernel community to have. In late September, Marco Elver announced
a tool called KCSAN
(the Kernel Concurrency Sanitizer) that does
exactly that — and which has already found a number of real problems.

[$] Calibrating your fear of big bad optimizing compilers

Post Syndicated from corbet original https://lwn.net/Articles/799218/rss

As noted
earlier,
when compiling Linux-kernel code that does a plain C-language load or
store, as in
a=b“, the C standard grants the compiler the right
to assume that the affected variables are neither accessed nor modified
by any other thread at the time of that load or store.
The compiler is therefore permitted to carry out a surprisingly
large number of optimizations, any number of which might ruin your
concurrent code’s day.
Given that current compilers usually do not emit diagnostics warning of
potential ruined days, it would be good to have other tools take on this
task.

[$] BPF at Facebook (and beyond)

Post Syndicated from corbet original https://lwn.net/Articles/801871/rss

It is no secret that much of the work on the in-kernel BPF virtual machine
and associated user-space support code is being done at Facebook. But less
is known about how Facebook is actually using BPF. At Kernel Recipes 2019,
BPF developer Alexei Starovoitov described
a bit of that work, though even he admitted that he didn’t know what most
of the BPF programs running there were doing. He also summarized recent
developments with BPF and some near-future work.

[$] Adding the pidfd abstraction to the kernel

Post Syndicated from corbet original https://lwn.net/Articles/801319/rss

One of the many changes in the 5.4 kernel is the completion (insofar as
anything in the kernel is truly complete) of the pidfd API. Getting that work done has been “a
wild ride so far”, according to its author Christian Brauner during a
session
at the 2019 Kernel Recipes conference. He went on to describe
the history of this work and some lessons for others interested in adding
major new APIs to the Linux kernel.

Richard Stallman and the GNU project

Post Syndicated from corbet original https://lwn.net/Articles/801482/rss

While Richard Stallman has resigned from the Free Software Foundation and
MIT, he continues to hold onto his position as the head of the GNU project. Now, the FSF has announced that it is
working with GNU leadership on a shared understanding of the
relationship for the future
” and is seeking comments from the
community on what that should be.

Meanwhile, a group of maintainers for specific GNU project has posted
a joint statement
calling for new leadership at GNU. “We believe
that Richard Stallman cannot represent all of GNU. We think it is now time
for GNU maintainers to collectively decide about the organization of the
project. The GNU Project we want to build is one that everyone can trust to
defend their freedom.