The LWN.net Weekly Edition for May 31, 2018 is available.
It is the season for web sites to be updating their privacy policies and
obtaining consent from their users for whatever data they collect. LWN,
being short of staff with the time or interest to work in this area, is
rather late to this game. The first step is an updated
from the current version; we still don’t
collect much data, share data with others, or attempt to
monetize what we have in any way. We would like to ask interested readers
to have a look and let us know about any potential problems they see.
In April, LWN looked at the new API for
zero-copy reception of TCP data that had been merged into the net-next tree
for the 4.18 development cycle. After that article was written, a couple
of issues came to the fore that required some changes to the API for this
feature. Those changes have been made and merged; read on for the details.
Much has been written on LWN about dynamically instrumenting kernel
code. These features are also available to user-space code with a
special kind of probe known as a User Statically-Defined Tracing
(USDT) probe. These probes provide a low-overhead way of
instrumenting user-space code and provide a convenient way to debug applications
running in production. In this final article of the BPF and BCC series
we’ll look at where USDT probes come from and how you can use them to
understand the behavior of your own applications.
The new PyPI has been launched. Browser
traffic and API calls (including “pip install”) have been redirected from
the old pypi.python.org to the new site. The old PyPI will shut down on
April 30. LWN covered the new PyPI last week.
The rhashtable data structure is a generic resizable hash-table
implementation in the Linux kernel, which LWN first introduced as “relativistic
hash tables” back in 2014. I thought at the time that it might be fun to make
use of rhashtables, but didn’t, until an opportunity arose through my work on
the Lustre filesystem. Lustre is a cluster filesystem that is currently in
drivers/staging while the code is revised to meet upstream
requirements. One of those requirements is to avoid duplicating
similar functionality where possible. As Lustre contains a resizable
hash table, it really needs to be converted to use rhashtables instead — at
last I have my opportunity.
Subscribers can read on for a look at the rhashtable API by guest author
The Linux Foundation and Nitrokey have announced
a program whereby anybody who appears in the kernel’s MAINTAINERS file or
who has a
kernel.org email address can obtain a free Nitrokey Start crypto card. The
intent, of course, is that kernel developers will use these devices to
safeguard their GnuPG keys and, as a result, improve the security of the
kernel development process as a whole. “A digital smartcard token
like Nitrokey Start contains a cryptographic chip that is capable of
storing private keys and performing crypto operations directly on the token
itself. Because the key contents never leave the device, the operating
system of the computer into which the token is plugged in is not able to
retrieve the private keys themselves, therefore significantly limiting the
ways in which the keys can be leaked or stolen.”
See this LWN article for a look at crypto cards.
The GnuCash 3.0 release is out. “The headline item for this release is that GnuCash now uses the Gtk+-3.0
Toolkit and the WebKit2Gtk API. This change was forced on us by some major
Linux distributions dropping support for the WebKit1 API.” This
release also includes some new reports, a rewritten CSV importer, and
more. LWN looked at GnuCash from a
business-accounting point of view in August 2017.
Energy-aware scheduling — running a system’s workload in a way that
minimizes the amount of energy consumed — has been a topic of active
discussion and development for some time; LWN first covered the issue at the beginning of 2012.
Many approaches have been tried during the intervening years, but little in
the way of generalized energy-aware scheduling work has made it into the
mainline. Recently, a new patch set was
posted by Dietmar Eggemann that
only tries to address one aspect of the problem; perhaps the problem domain
has now been simplified enough that this support can finally be merged.