Language Selection

English French German Italian Portuguese Spanish

Linux Plumbers Conference 2018 Coverage by LWN

Filed under
Linux
  • Bringing the Android kernel back to the mainline

    Android devices are based on the Linux kernel but, since the beginning, those devices have not run mainline kernels. The amount of out-of-tree code shipped on those devices has been seen as a problem for most of this time, and significant resources have been dedicated to reducing it. At the 2018 Linux Plumbers Conference, Sandeep Patil talked about this problem and what is being done to address it. The dream of running mainline kernels on Android devices has not yet been achieved, but it may be closer than many people think.

    Android kernels, he said, start their life as a long-term stable (LTS) release from the mainline; those releases are combined with core Android-specific code to make the Android Common Kernel releases. Vendors will pick a common kernel and add a bunch more out-of-tree code to create a kernel specific to a system-on-chip (SoC) and ship that to device manufacturers. Eventually one of those SoC kernels is frozen, perhaps with yet another pile of out-of-tree code tossed in, and used as the kernel for a specific device model. It now only takes a few weeks to merge an LTS release into the Android Common Kernel, but it's still a couple of years before that kernel shows up as a device kernel. That is why Android devices are always running ancient kernels.

  • A panel discussion on the kernel's code of conduct

    There has been a great deal of discussion around the kernel project's recently adopted code of conduct (CoC), but little of that has happened in an open setting. That changed to an extent when a panel discussion was held during the Kernel Summit track at the 2018 Linux Plumbers Conference. Panelists Mishi Choudhary, Olof Johansson, Greg Kroah-Hartman, and Chris Mason took on a number of issues surrounding the CoC in a generally calm and informative session.

    Kroah-Hartman began by apologizing for the process by which the code was adopted. Linus Torvalds wanted something quickly, Kroah-Hartman said, so the process was rushed and a lot of political capital was burned to get the code into the kernel. He has since been trying to make up for things by talking to a lot of people; while he apologized for how things happened, he also insisted that it was necessary to take that path. The "code of conflict" that preceded the current code was also pushed into the kernel over a period of about three weeks; "we have been here before", he said.

  • The kernel developer panel at LPC

    The closing event at the 2018 Linux Plumbers Conference (LPC) was a panel of kernel developers. The participants were Laura Abbott, Anna-Maria Gleixner, Shuah Khan, Julia Lawall, and Anna Schumaker; moderation was provided by Kate Stewart. This fast-moving discussion covered the challenges of kernel development, hardware vulnerabilities, scaling the kernel, and more.

    The initial topic was entry into kernel development, and the panelists' experience in particular. Khan, who got started around seven years ago, said that her early experience was quite positive; she named Tim Bird as a developer who gave her a lot of good advice at the beginning. Abbott started by tracking down a bug that was causing trouble internally; after getting some feedback, she was able to get that work merged into the mainline — an exciting event. Schumaker started with a relatively easy project at work. Lawall, instead, started by creating the Coccinelle project back around 2004. Her experience was initially somewhat painful, since the patches she was creating had to go through a lot of different maintainers.

    It had been a busy week at LPC, Stewart said, asking the panelists what stood out for them. Khan called out the networking track as a place where she learned a lot, but also said that the conference helped her to catch up with what is going on with the kernel as a whole, which is not an easy thing to do. She mentioned the sessions on the kernel's code of conduct and the creation of a maintainer's handbook.

  • Toward a kernel maintainer's guide

    "Who's on Team Xmas Tree?" asked Dan Williams at the beginning of his talk in the Kernel Summit track of the 2018 Linux Plumbers Conference. He was referring to a rule for the ordering of local variable declarations within functions that is enforced by a minority of kernel subsystem maintainers — one of many examples of "local customs" that can surprise developers when they submit patches to subsystems where they are not accustomed to working. Documenting these varying practices is a small part of Williams's project to create a kernel maintainer's manual, but it seems to be where the effort is likely to start.

    In theory, Williams said, kernel maintenance is a straightforward task. All it takes is accumulating patches and sending a pull request or two to Linus Torvalds during the merge window. In this ideal world, subsystems are the same and there is plenty of backup to provide continuity when a maintainer takes a vacation. In the real world, though, the merge window is a stressful time for maintainers. It involves a lot of work juggling topic branches, a lot of talking to people (which is an annoying distraction), and the fact that Torvalds can instinctively smell a patch that is not yet fully cooked. Maintenance practices vary between subsystems, and there is no backup for the maintainers in many of them. It is hard for a maintainer to take a break.

  • Updates on the KernelCI project

    The kernelci.org project develops and operates a distributed testing infrastructure for the kernel. It continuously builds, boots, and tests multiple kernel trees on various types of boards. Kevin Hilman and Gustavo Padovan led a session in the Testing & Fuzzing microconference at the 2018 Linux Plumbers Conference (LPC) to describe the project, its goals, and its future.

    KernelCI is a testing framework that is focused on actual hardware. Hilman is one of the developers of the project and he showed a picture of his shed where he has 80 different embedded boards all wired up as part of the framework. KernelCI came out of the embedded space and the Arm community; there are so many different hardware platforms, it became clear there was a need to ensure that the code being merged would actually work on all of them. Since then, it has expanded to more architectures.

  • Filesystems and case-insensitivity

    A recurring topic in filesystem-developer circles is on handling case-insensitive file names. Filesystems for other operating systems do so but, by and large, Linux filesystems do not. In the Kernel Summit track of the 2018 Linux Plumbers Conference (LPC), Gabriel Krisman Bertazi described his plans for making Linux filesystems encoding-aware as part of an effort to make ext4, and possibly other filesystems, interoperable with case-insensitivity in Android, Windows, and macOS.

    Case-insensitive file names for Linux have been discussed for a long time. The oldest reference he could find was from 2002, but it has come up at several Linux Storage, Filesystem, and Memory-Management Summits (LSFMM), including in 2016 and in Krisman's presentation this year. It has languished so long without a real solution because the problem has many corner cases and it is "tricky to get it right".

More in Tux Machines

A brief comparison of Java IDE’s: NetBeans Vs Eclipse

Thinking about entering the world of programming? What better way to enter than through Java and joining a community of over 10 million developers worldwide? Java is one of the most popular programming languages right now. It is an interpreted, object-oriented programming language which is directly supported by major operating systems like Apple, Linux, Windows, Sun etc. Java is a portable programming language meaning a program can be written on one platform and can run on all platforms. Java supports networking (you can use TCP and UDP sockets) and access remote data using a variety of protocols. It also provides the feature of multithreading, which can utilize multiple processors and one of the prime features of Java is garbage collection. In many languages, the programmer is responsible for deallocating memory and it can become a hassle resulting in errors and segmentation faults. Java, on the other hand, has a garbage collector which manages the memory and frees up the memory by destroying objects not in use. To start coding in Java you need to have Java installed, the latest version of Java is 11 but Java 8 is still supported so having any one of these installed will be enough to get you started. Writing a program and compiling it would take some effort as you will have to write the code in a text file and then save it in .java and then have to compile it using terminal, or you can use an IDE and save yourself the time and effort used in this process and get a slew of interesting features. An Integrated Development Environment or IDE for short, is a software application which helps the user to write and compile code easily by providing features like text editing, debugging plugins etc. while providing compilation by the click of one button. Java has many IDEs but two of the most popular ones are NetBeans and Eclipse. Read more

Graphics: AMDGPU, Mesa and Intel

  • AMDGPU Has Late Fixes For Linux 5.0: Golden Register Update For Vega 20, Display Fixes
    There are some last minute changes to the AMDGPU Direct Rendering Manager (DRM) driver for the upcoming Linux 5.0 kernel release. Being past RC7, it's quite late in the cycle but some work has materialized that AMD is seeking to get in ahead of the stable release for improving the Radeon open-source GPU support.
  • Mesa 19.1 Panfrost Driver Gets Pantrace & Pandecode Support To Help Reverse Engineering
    Since being added to Mesa 19.1 at the start of this month, the Panfrost driver has continued speeding along with bringing up this ARM Mali T600/T700/T860 open-source graphics driver support. The latest batch of code was merged overnight, including support for some reverse-engineering helpers.
  • Intel's Shiny Vulkan Overlay Layer Lands In Mesa 19.1 - Provides A HUD With Driver Stats
    As some more exciting open-source Intel Linux graphics news this week besides their new merge request to mainline the Iris Gallium3D driver, over in the Vulkan space they have merged today their overlay layer that provides a heads-up display of sorts for their Linux "ANV" driver. Last month we reported on Intel developing a Vulkan "heads-up display" for their driver to display various statistics to help the driver developers themselves as well as application/game developers. This is akin to Gallium HUD but suited for Vulkan usage rather than OpenGL.
  • Intel Iris Gallium3D Driver Merged To Mainline Mesa 19.1
    Well that sure didn't take long... Less than 24 hours after the merge request to mainline the Intel "Iris" Gallium3D driver was sent out, it's now been merged into the mainline code-base! The Intel Gallium3D driver is now in Mesa Git for easy testing of their next-generation OpenGL Linux driver. Making the day even more exciting for Intel Linux users is this driver's landing comes just minutes after the Vulkan overlay layer HUD was merged for Intel's ANV open-source driver.

today's howtos

Linux Foundation: Mobile World Congress 2019, LF Deep Learning Foundation and Calico/CNCF

  • MEDIA ADVISORY: The Linux Foundation to Participate in Mobile World Congress 2019
    The Linux Foundation, the nonprofit organization enabling mass innovation through open source, will be onsite at Mobile World Congress 2019, February 25-28, in Barcelona, Spain.
  • Ericsson Joins Linux Foundation Deep Learning Group As Premier Member
    The LF Deep Learning Foundation (LF DL), a Linux Foundation that supports and sustains open source innovation in artificial intelligence (AI), machine learning (ML), and deep learning (DL), announces Ericsson has become the newest Premier Member. Ericsson, a global leader in delivering ICT solutions, has been at the forefront of communications technology for 140 years. Ericsson has already begun contributing to the LF Deep Learning Foundation through the Acumos project, working with partners like AT&T, Orange and the broader community to solve complex problems surrounding 5G and IoT through AI and ML. In addition to participating in LF DL, Ericsson is also a member of LF Networking, DPDK, the Cloud Native Computing Foundation and LF Edge Foundation. Ericsson is strongly committed to these future-forward technologies, and to that end the company has built a Global AI Accelerator focused on tackling the complex business problems of today and tomorrow.
  • The Calico cloud
    Calico, which is now a Cloud Native Computing Foundation (CNCF) project, can be used on many clouds. It supports such common cloud APIs as Container Network Interface (CNI), OpenStack Neutron, and libnetwork. Besides Kubernetes, it can also be used with Docker, Mesos, and Rkt. You can natively deploy Calico on Amazon Web Services (AWS), Google Compute Engine, and the IBM Cloud. You can’t use Calico directly on Azure, but you can use Calico policies with the right network setup. You can get started with Calico today. If you need help and support to get Calico into production, Tigera, Calico’s corporate backer, offers service level agreements (SLAs).