All posts by corbet

Rosenzweig: Bifrost meets GNOME: Onward & upward to zero graphics blobs

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

Alyssa Rosenzweig provides
an update
on the Panfrost driver for Mali GPUs on the Collabora blog.
In the past 3 months since we began work on Bifrost, fellow
Collaboran Tomeu Vizoso and I have progressed from stubbing out the new
compiler and command stream in March to running real programs by
May. Driven by a reverse-engineering effort in tandem with the free
software community, we are confident that against proprietary blobs and
downstream hacks, open-source software will prevail.

[$] 5.8 Merge window, part 1

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

Just over 7,500 non-merge changesets have been pulled into the mainline
repository since the opening of the 5.8 merge window — not a small amount
of work for just four days. The early pulls are dominated by the
networking and graphics trees, but there is a lot of other material in
there as well. Read on for a summary of what entered the kernel in the
first part of this development cycle.

[$] DMA-BUF cache handling: Off the DMA API map (part 1)

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

Recently, the DMA-BUF heaps
interface
was added to the 5.6 kernel. This
interface is similar to ION,
which has been
used for years by Android vendors. However, in trying to move vendors to
use DMA-BUF heaps, we have begun to see how the DMA API model
doesn’t fit well for modern mobile devices. Additionally, the lack of clear
guidance in how to handle cache operations efficiently, results in vendors
using custom device-specific optimizations that aren’t generic enough for
an upstream solution. This article will describe the nature of the
problem; the upcoming second installment will look at the path toward a
solution.

FreeNAS is coming to Linux

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

The FreeNAS distribution implements network-attached storage on top of the
ZFS filesystem; it was reviewed here back
in 2015. FreeNAS has always been based on FreeBSD, but now iXsystems, the
company behind this system, has announced
a new version, called TrueNAS SCALE, that will be based on Debian.
Linux is a key requirement to achieve some of the SCALE project
goals
“. More information about those goals will evidently be
forthcoming in the future.

[$] Development statistics for the 5.7 kernel

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

The 5.7 kernel was released on
May 31. By all appearances this was a normal development cycle,
unaffected by the troubles in the wider world. Still, there are things to
be learned by looking at where the code came from this time around. Read
on for LWN’s traditional look at who contributed to 5.7, who supported that
work, and the paths by which it got into the mainline.

[$] A possible end to the FSGSBASE saga

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

The FSGSBASE
patch series
is up to its thirteenth version as of late May. It
enables some “new”
instructions for the x86 architecture, opening the way for a number of
significant performance improvements. One might think that such a patch
series would be a shoe-in, but FSGSBASE has had a troubled history;
meanwhile, the delays in getting it merged may have led to a number of
users installing root holes on their Linux systems in the hope of improving
security.

The 5.7 kernel is out

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

Linus has released the 5.7 kernel right on
schedule.
Headline features in 5.7 include
x86 split-lock detection,
thermal-pressure management,
frequency invariance in the load-tracking
code,
coexistence between BPF and realtime
preemption,
support for BPF security hook programs (formerly called the KRSI security module),
a new, Microsoft-blessed exFAT filesystem implementation, and more.
The final patch to be merged was this one deprecating
the long-standing 80-column limit for kernel source.

See the KernelNewbies 5.7 page for
lots of details.

[$] Capacity awareness for the deadline scheduler

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

The Linux deadline scheduler supports realtime systems where
applications need to
be sure of getting their work done within a specific period of time. It
allocates CPU time to deadline tasks in such a way as to ensure that each
task’s specific timing constraints are met.
However, the current
implementation does not work well on asymmetric CPU configurations like Arm’s
big.LITTLE
. Dietmar Eggemann recently posted
a patch set
to address this problem by adding the notion of CPU
capacity to the deadline scheduler.

A pandemic-era LWN update

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

We are living through interesting times that present challenges in a number
of areas, including running a business. While we think of LWN primarily as
a community resource, it is also a business that is not unaffected by the
ongoing pandemic. It is, we figure, a good time for a status update,
especially since we have some news to share.

Carpenter: Writing the Ultimate Locking Check

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

Here’s a
detailed blog entry from Dan Carpenter
on adding improved lock checking
to the smatch static-analysis tool. “When Smatch gained the
ability to do cross function analysis in 2010, I knew that I had to
re-write the locking check to take advantage of the new cross function
analysis feature. When you combine cross function analysis with top of the
line flow analysis available and in depth knowledge of kernel locks then
the result is the Ultimate Locking Check! Unfortunately, I have a tendency
towards procrastination and it took me a decade to get around to it, but it
is done now. This blog will step through how the locking analysis
works.

GoboLinux 017 released

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

Version 017 of the
decidedly non-traditional GoboLinux distribution has been released.
This release introduces a simplified model for recipe management and contribution that’s fully integrated with the Compile build tool.

The recipe tree is now a plain Git repository managed via GitHub cloned
into your /Data/Compile/Recipes directory and used by the GoboLinux Compile
tool directly.”

[$] Hibernation in the cloud

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

Hibernation is normally thought of as a laptop feature — and
an old and obsolete laptop feature at that. One does not normally consider it
to be relevant in cloud settings. But, at the 2020 Power Management and Scheduling
in the Linux Kernel summit
(OSPM), Andrea Righi argued that there may
actually be a place for hibernation on cloud-based systems if it can be
made to work reliably.

[$] Imbalance detection and fairness in the CPU scheduler

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

The kernel’s CPU scheduler is good at distributing tasks across a
multiprocessor system, but does it do so fairly? If some tasks get a lot
more CPU time than others, the result is likely to be unhappy users.
Vincent Guittot ran a session at the 2020 Power Management and Scheduling
in the Linux Kernel summit
(OSPM) looking into this issue, with a focus
on detecting load imbalances between CPUs and what to do with a workload
that cannot be balanced.

[$] The deadline scheduler and CPU idle states

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

As Rafael Wysocki conceded at the beginning of a session at the 2020 Power Management and Scheduling
in the Linux Kernel summit
(OSPM), the combination of the deadline scheduling class with CPU idle states
might seem a little strange. Deadline scheduling is used in realtime
settings, where introducing latency by idling the CPU tends to be frowned
upon. But there are reasons to think that these two technologies might
just be made to work together.

[$] Saving frequency scaling in the data center

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

Frequency scaling — adjusting a CPU’s operating frequency to save power when the
workload demands are low — is common practice across systems supported by
Linux. It
is, however, viewed with some suspicion in data-center settings, where
power consumption is less of a concern and there is a strong emphasis on
getting the most performance out of the hardware. At the 2020 Power Management and Scheduling
in the Linux Kernel summit
(OSPM), Giovanni Gherdovich worried that
frequency scaling may be about to go extinct in data centers; he made a
plea for improving its behavior for such workloads while there is still
time.

[$] The pseudo cpuidle driver

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

The purpose of a cpuidle governor is to decide which idle state a CPU
should go into when it has no useful work to do; the cpuidle driver
then actually puts the CPU
into that state. But, at the 2020 Power Management and Scheduling
in the Linux Kernel summit
(OSPM), Abhishek Goel presented a new
cpuidle driver that doesn’t actually change the processor’s power state at all.
Such a driver will clearly save no power, but it can be quite useful as a
tool for evaluating and debugging cpuidle policies.