Language Selection

English French German Italian Portuguese Spanish

Linux kernel coverage at LWN (now outside the paywall)

Filed under
Linux
  • Flash storage topics

    At the 2018 Linux Storage, Filesystem, and Memory-Management Summit (LSFMM), Jaegeuk Kim described some current issues for flash storage, especially with regard to Android. Kim is the F2FS developer and maintainer, and the filesystem-track session was ostensibly about that filesystem. In the end, though, the talk did not focus on F2FS and instead ranged over a number of problem areas for Android flash storage.

    He started by noting that Universal Flash Storage (UFS) devices have high read/write speeds, but can also have high latency for some operations. For example, ext4 will issue a discard command but a UFS device might take ten seconds to process it. That leads the user to think that Android is broken, he said.

  • The ZUFS zero-copy filesystem

    At the 2018 Linux Storage, Filesystem, and Memory-Management Summit (LSFMM), Boaz Harrosh presented his zero-copy user-mode filesystem (ZUFS). It is both a filesystem in its own right and a framework similar to FUSE for implementing filesystems in user space. It is geared toward extremely low latency and high performance, particularly for systems using persistent memory.

    Harrosh began by saying that the idea behind his talk is to hopefully entice others into helping out with ZUFS. There are lots of "big iron machines" these days, some with extremely fast I/O paths (e.g. NVMe over fabrics with throughput higher than memory). "For some reason" there may be a need to run a filesystem in user space but the current interface is slow because "everyone is copy happy", he said.

  • A filesystem "change journal" and other topics

    At the 2017 Linux Storage, Filesystem, and Memory-Management Summit (LSFMM), Amir Goldstein presented his work on adding a superblock watch mechanism to provide a scalable way to notify applications of changes in a filesystem. At the 2018 edition of LSFMM, he was back to discuss adding NTFS-like change journals to the kernel in support of backup solutions of various sorts. As a second topic for the session, he also wanted to discuss doing more performance-regression testing for filesystems.

    Goldstein said he is working on getting the superblock watch feature merged. It works well and is used in production by his employer, CTERA Networks, but there is a need to get information about filesystem changes even after a crash. Jan Kara suggested that what was wanted was an indication of which files had changed since the last time the filesystem changes were queried; Goldstein agreed.

  • Will staging lose its Lustre?

    The kernel's staging tree is meant to be a path by which substandard code can attract increased developer attention, be improved, and eventually find its way into the mainline kernel. Not every module graduates from staging; some are simply removed after it becomes clear that nobody cares about them. It is rare, though, for a project that is actively developed and widely used to be removed from the staging tree, but that may be about to happen with the Lustre filesystem.

    The staging tree was created almost exactly ten years ago as a response to the ongoing problem of out-of-tree drivers that had many users but which lacked the code quality to get into the kernel. By giving such code a toehold, it was hoped, the staging tree would help it to mature more quickly; in the process, it would also provide a relatively safe place for aspiring kernel developers to get their hands dirty fixing up the code. By some measures, staging has been a great success: it has seen nearly 50,000 commits contributed by a large community of developers, and a number of drivers have, indeed, shaped up and moved into the mainline. The "ccree" TrustZone CryptoCell driver graduated from staging in 4.17, for example, and the visorbus driver moved to the mainline in 4.16.

  • Statistics from the 4.17 kernel development cycle

    The 4.17 kernel appears to be on track for a June 3 release, barring an unlikely last-minute surprise. So the time has come for the usual look at some development statistics for this cycle. While 4.17 is a normal cycle for the most part, it does have one characteristic of note: it is the third kernel release ever to be smaller (in terms of lines of code) than its predecessor.

    The 4.17 kernel, as of just after 4.17-rc7, has brought in 13,453 non-merge changesets from 1,696 developers. Of those developers, 256 made their first contribution to the kernel in this cycle; that is the smallest number of first-time developers since 4.8 (which had 237). The changeset count is nearly equal to 4.16 (which had 13,630), but the developer count is down from the 1,774 seen in the previous cycle.

  • Deferring seccomp decisions to user space

    There has been a lot of work in recent years to use BPF to push policy decisions into the kernel. But sometimes, it seems, what is really wanted is a way for a BPF program to punt a decision back to user space. That is the objective behind this patch set giving the secure computing (seccomp) mechanism a way to pass complex decisions to a user-space helper program.

    Seccomp, in its most flexible mode, allows user space to load a BPF program (still "classic" BPF, not the newer "extended" BPF) that has the opportunity to review every system call made by the controlled process. This program can choose to allow a call to proceed, or it can intervene by forcing a failure return or the immediate death of the process. These seccomp filters are known to be challenging to write for a number of reasons, even when the desired policy is simple.

    Tycho Andersen, the author of the "seccomp trap to user space" patch set, sees a number of situations where the current mechanism falls short. His scenarios include allowing a container to load modules, create device nodes, or mount filesystems — with rigid controls applied. For example, creation of a /dev/null device would be allowed, but new block devices (or almost anything else) would not. Policies to allow this kind of action can be complex and site-specific; they are not something that would be easily implemented in a BPF program. But it might be possible to write something in user space that could handle decisions like these.

More in Tux Machines

Red Hat and Fedora Leftovers

Ubuntu 18.10 Cosmic Cuttlefish and More

  • Ubuntu 18.10 Cosmic Cuttlefish is officially out. Here’s what you need to know
    It is late October and Ubuntu’s xx.10 release is here, this year; Ubuntu 18.10 Cosmic Cuttlefish. The previous release, Ubuntu 18.04 was an LTS version meaning it will get security patches and support for the next 4 years, and has since enjoyed really good reviews. 6 months later, Cosmic Cuttlefish is here, hoping to one-up that legacy. But does it have what it takes to do so? What does it bring to the table?
  • Intel's Hades Canyon NUC And Ubuntu Linux 18.10 Are Perfect Together
    In general, Linux kernel 4.18 seems to offer vast improvements for Hades Canyon NUC and specifically AMD's Radeon Vega M graphics hardware. I've seen reports of success from Arch and Fedora users who've upgraded, so it's wonderful news that slick devices like the Hades Canyon NUC -- and by extension future products featuring Radeon Vega M graphics -- should be well supported going forward.

Servers and Databases: PASE Versus ILE, Cassandra and More

  • PASE Versus ILE: Which Is Best For Open Source?
    Open source has emerged as a driver of innovation in the past 20 years, and has greatly accelerated technological innovation. The proprietary IBM i platform has also benefited from this trend, thanks in large part to the capability to run Linux applications in the PASE runtime. But some members of the IBM i community are concerned that the fruits of the open source innovation have not tasted quite as sweet as they do on other platforms. Linux was the original breakout star in open source software, and so it should be no surprise that the vast majority of software developed with the open source method is designed to run on the Linux operating system and associated open source componentry, including the Apache Web Server, MySQL database, and PHP, the so-called LAMP stack (although you can substitute other pieces, like the Postgres and MariaDB databases and languages like Perl, Python, and Node.js to create other clever acronyms). The IBM i operating system can run Linux applications through PASE, the AIX runtime that IBM brought to OS/400 so many years ago. Getting Linux applications to run on PASE requires that they’re first ported to AIX, which is often not too much work, since Linux is a variant of Unix, just like AIX.
  • How Instagram is scaling its infrastructure across the ocean
    To prevent quorum requests from going across the ocean, we're thinking about partitioning our dataset into two parts: Cassandra_EU and Cassandra_US. If European users' data stores are in the Cassandra_EU partition, and U.S. users' data stores are in the Cassandra_US partition, users' requests won't need to travel long distances to fetch data. For example, imagine there are five data centers in the United States and three data centers in the European Union. If we deploy Cassandra in Europe by duplicating the current clusters, the replication factor will be eight and quorum requests must talk to five out of eight replicas. If, however, we can find a way to partition the data into two sets, we will have a Cassandra_US partition with a replication factor of five and a Cassandra_EU partition with a replication factor of three—and each can operate independently without affecting the others. In the meantime, a quorum request for each partition will be able to stay in the same continent, solving the round-trip latency issue.
  • Two software companies, fed up with Amazon, Alibaba and other big cloud players, have a controversial new plan to fight back
    Every year, large cloud companies like Amazon rake in billions of dollars— but some of their most popular cloud services comes from repackaging software projects created by other, smaller companies. Amazon is repackaging what's known as "open source" software, which is software that is given away for free, meaning Amazon has every legal right to use it in this way. For instance, since 2013, Amazon had been offering the open-source database Redis as part of a popular cloud service called ElastiCache.
  • Running Your Own Database-as-a-Service with the Crunchy PostgreSQL Operator
    One reason why enterprises adopt open source software is to help free themselves from vendor lock-in. Cloud providers can offer open source “as-a-service” solutions that allow organizations to take advantage of open source solutions, but this in turn has can create a new type of trap: infrastructure lock-in. Many organizations have adopted Kubernetes to give themselves flexibility in where they can deploy their services in the cloud, without being locked into one provider. Some people express concerns that this instead creates “Kubernetes lock-in,” but because Kubernetes is open source and has both widespread support and active development, it should be no different than adopting Linux as your operating system.

Latest About GNU/Linux Software on Chromebooks

  • Linux Apps Coming To MediaTek-Powered Chromebooks Like The Acer R13
    Google made no mention of Linux apps on Chrome OS at last week’s hardware event in New York. I was a little surprised considering the fact that the Pixel Slate and Chrome OS saw nearly as much stage time as the Pixel phone that brought most of the media to Manhattan. [...] Unfortunately, the Chromebook R13 was quickly overshadowed by new flagships from Samsung and ASUS that featured more powerful processors and various features that made them more appealing to consumers. It was a sad happenstance for the Acer Chromebook because honestly, it is still a great device two years later. Seeing Google bring Linux apps to this device could breath much-needed new life into this model.
  • Linux app support coming to MediaTek-based Chromebooks
    Linux apps have arrived in the Chrome OS stable channel, but not all Chromebooks have access to them. The Linux container requires some kernel features that won't be backported to several models, but now Google is bringing the feature to a handful of MediaTek-based Chromebooks. Chrome Unboxed discovered a commit that enables Linux app support for the "oak" platform, which a number of Chromebooks were based on.
  • Linux apps on Chrome OS: An easy-to-follow guide
    The software that started out as a strictly web-centric entity — with everything revolving around the Chrome browser and apps that could operate inside it — is now one of modern computing's most versatile operating systems. Contemporary Chromebooks still run all the standard web-based stuff, of course, but they're also capable of connecting to Google's entire Play Store and running almost any Android app imaginable. And if that isn't enough, many models have recently gained the ability to run Linux apps as well.