Loading…

Sign up or log in to bookmark your favorites and sync them to your phone or calendar.

Linux Systems [clear filter]
Monday, October 26
 

12:00 GMT

Evolution of Suspend-to-Idle Support in the Linux Kernel - Rafael Wysocki, Intel
Suspend-to-idle is a system-wide suspend variant which in principle does not rely on platform support. The suspend-to-idle control flow does not take non-boot CPUs offline and expects all CPUs to enter idle states through the idle loop, like in the working state of the system. However, it assumes that the scheduler tick will be stopped on all CPUs and the timekeeping will be suspended, which is a source of significant complications. It also expects system wakeup devices selected by user space to be functional and it needs to prevent all of the other interrupt sources from waking up the system. In some cases one interrupt source can signal both wakeup and non-wakeup events, so it is necessary to distinguish the former from the latter. All of that together causes the suspend-to-idle support code in the Linux kernel to be quite complex, especially on systems using ACPI, and that code has changed for multiple times in response to additional pieces of information on what is needed coming mostly from the users in the form of problem reports. I will describe the evolution of that code since its inception in 2013 and explain the reasons for making the changes in it.

Speakers
avatar for Rafael Wysocki

Rafael Wysocki

Software Engineer, Intel
Rafael maintains the Linux kernel’s power management infrastructure and the core ACPI support code. He works at Intel and focuses on the mainline Linux kernel development. Rafael has been actively contributing to Linux since 2005, in particular to the kernel’s suspend/hibernate... Read More →



Monday October 26, 2020 12:00 - 12:50 GMT
Linux Systems Theater
  Linux Systems, Power Management

13:00 GMT

Do We Need an Industrial Grade Linux? - Lars Geyer-Blaumeiser, Bosch.IO
Bosch as well as many other industrial companies use GNU/Linux as an operating system for a large portion of the devices they produce in particular in the IoT context. While Linux distributions have done a great job to compile and maintain a consistent set of packages to provide the software stack for these devices it still requires huge extra efforts to fulfill the increasing requirements over the entire device life cycle that is currently done internally for each device class. As it is based on open source the question is if a significant part of this work could also be done in an open source way with all the positive effects that we can see in the community. There are first approaches already in the open, like Apertis (https://www.apertis.org/) or the CIP project (https://www.cip-project.org). In the talk, we want to motivate the problem and describe collaboration potential.

Speakers
avatar for Lars Geyer-Blaumeiser

Lars Geyer-Blaumeiser

Senior Expert Open Source Services, Bosch.IO
Lars is a software engineer at Bosch.IO GmbH working in an organization that is supporting Open Source efforts within the Bosch Group. In his role, Lars is supporting strategic Open Source activities. In addition, he is working in the OSS Compliance Tooling Group of the Open Chain... Read More →



Monday October 26, 2020 13:00 - 13:50 GMT
Linux Systems Theater
  Linux Systems

13:00 GMT

Solving the Twelve Year Old ftrace Time Stamp Puzzle - Steven Rostedt, VMware
Since 2008, the ftrace ring buffer inside the Linux kernel has been used to debug numerous issues. With recording events within nanoseconds, it's streamlined processing that keeps overhead very low, hard to debug areas of Linux can easily be traced. It works in all sorts of context including non-maskable-interrupts (NMIs), that makes it an ideal debugging tool. With its incorporated timestamp counter, it can show how long functions last, or time the latency between events.

But this timestamp had a flaw for all these years; It would not give time deltas for events recorded in a context that interrupted the recording of another event on the buffer. This issue has now been solved.

This talk will go over why it was so difficult to solve the nested event timestamp issue, and then a step by step dive into its solution. If you like to geek-out over hard to solve problems, and then see how they are eventually solved, you will enjoy watching this talk.

Speakers
avatar for Steven Rostedt

Steven Rostedt

Open Source Engineer, VMWare, Inc.
Steven has been working on the Linux kernel since 1998 (started while working on his masters). He has been working on the Linux kernel professionally since 2001. Steven is one of the original developers of the PREEMPT_RT patch which turns Linux into a true real-time operating system... Read More →



Monday October 26, 2020 13:00 - 13:50 GMT
Linux Systems Theater
  Linux Systems

16:15 GMT

Monitoring Linux Systems Using Kernel Audit Subsystem - Vandana Salve, Prasme Systems
Monitoring allows us to collect, store, and analyze the detailed information on the system at any given time.
Using the audit subsystem for monitoring these activities raises the level of security in Linux systems.
Although it doesn't offer additional security, it provides a detailed insight across the various critical kernel subsystems. With the help of detailed information on system activities and violations, it can be used to implement additional targeted security measures. The audit subsystem works by listening to the events reported by the kernel and logging them to a log file. In this talk, we will be taking a deeper look at the audit kernel subsystem and its use.

Speakers
avatar for Vandana Salve

Vandana Salve

Software Architect, Prasme Systems
Vandana Salve has been working with Linux and embedded systems for more than 18 years. She is a Linux open source professional, Linux trainer at Linux foundations and Co-founder of Prasme Systems, where she does product development and gives training's in Linux systems software, device... Read More →



Monday October 26, 2020 16:15 - 17:05 GMT
Linux Systems Theater
  Linux Systems, Monitoring

17:15 GMT

Efficient Syscall Emulation on Linux - Gabriel Krisman Bertazi, Collabora
New DRM and Anti-cheating techniques used in modern Windows games proved to be a limitation for the emulated environment provided by the Wine layer. In particular, these techniques force games to issue syscalls directly without going through the Wine-implemented winAPI, which means that for Linux users, these games escape the Wine sandbox and invoke the kernel with a broken ABI. Current kernel mechanisms to intercept syscalls like ptrace and seccomp are inefficient to solve these problems, since there is no way for applications to filter these syscalls and dispatch efficiently. This talk will present the new Syscall User Dispatch mechanism arriving in Linux 5.9, which introduces a new design for very efficient syscall filtering based on a userspace accessible key switch.

Speakers
GK

Gabriel Krisman Bertazi

Senior Software engineer, Collabora
Gabriel Krisman Bertazi is a Senior Software Engineer with the Collabora kernel team, working to improve the experience of gaming on Linux. He implemented several kernel features to efficiently run Windows games over Valve's Proton emulation module, like the new Futex operation Futex... Read More →



Monday October 26, 2020 17:15 - 18:05 GMT
Linux Systems Theater
  Linux Systems, Kernel Syscall Handler

18:30 GMT

A New Mount API - Christian Brauner, Canonical
Almost since its inception Linux had a single syscall for creating and changing mounts. It had to cover mounting of real filesystems, bind mounts, remounting to change superblock options, remounting to change mount-specific options, mount propagation and other filesystem specific options. This caused the syscall to be overloaded. The old syscalls also lacked desirable properties such as being able to apply mount options to a whole mount tree instead of just a single mount. The new mount api splits the single mount syscall into multiple syscalls effectively allowing to create a mount context that can be configured and interacted with before even making the mount visible in the filesystem hierarchy. In this talk we will cover the layout of the new mount api, how it can be used to replace the old mount api, and specifically focus on new features such as detached mounts, or mount notifications and why it is desirable for userspace to start switching to it rather sooner than later. We will also take the time to look at future extensions such as supervised mounts.

Speakers
avatar for Christian Brauner

Christian Brauner

Senior Software Engineer, Canonical
Christian Brauner is a kernel developer and maintainer of the LXD and LXC projects currently working at Canonical. He works mostly upstream on the Linux Kernel maintaining various bits and pieces. He is strongly committed to working in the open, and an avid proponent of Free Software... Read More →


Monday October 26, 2020 18:30 - 19:20 GMT
Linux Systems Theater

19:30 GMT

BoF: KernelCI: Lessons Learned - Guillaume Tucker, Collabora
A lot has happened since KernelCI was announced as a new Linux Foundation project at ELC-E 2019 in Lyon. One year on, what have we learnt?

We are witnessing an increasing number of individuals and organisations who are getting involved with the project and make it grow in some new ways. We now have much more build power, a fast-expanding functional testing coverage and a new database design to collate results from other existing kernel test systems. But what makes it truly special is how it has the potential to be driven by the kernel community at the same scale as the Linux kernel itself.

The KernelCI project team's main role is essentially to facilitate this to happen, by providing some technical solutions as well as an open forum for catalyzing progress in kernel automated testing and development workflows. Join the discussion in this BoF to take part in shaping another exciting year ahead! Key topics to get started include a follow-up from the community survey we did in June, what subsystem maintainers need in order to make KernelCI part of their workflow, how to run automated kernel tests in an effective way...

We'll be using a shared document to gather KernelCI Community Notes from the BoF discussions:
https://docs.google.com/document/d/1XNu00OmSo-CzFdYUBXJk0B8hKZnfQk8v49ZfX9C_bKM/edit?usp=sharing


Speakers
avatar for Guillaume Tucker

Guillaume Tucker

Software Engineer, Collabora
Originally with a hardware background, over the last fifteen years I have progressed as a low-level embedded software engineer while working at several start-ups and ARM. Since I joined Collabora in 2017, I have spent the best part of my time working on KernelCI. Initially adding... Read More →



Monday October 26, 2020 19:30 - 20:20 GMT
Linux Systems Theater
  Linux Systems, Testing & Fuzzing
 
Tuesday, October 27
 

12:00 GMT

Atomic Updates and Configuration Files - Thorsten Kukuk, SUSE
Automatically updating and adjusting configuration files, especially if the admin made already changes to them, is not that easy and still one of the not solved problems under Linux. At the same time, more and more Linux Distributions provide variants with "Atomic Updates", which means either all updates are fully applied without error, or none. This makes updating configuration files even harder. In this talk I will explain the current problems, generic solutions for this, what various distributions choose to solve it and how we are planing to solve it.

Speakers
avatar for Thorsten Kukuk

Thorsten Kukuk

Distinguished Engineer, SUSE
Thorsten is working since over 20 years for SUSE, he is a Distinguished Engineer, Senior Architect for SLES and MicroOS and leading the Future Technology Team. He started his Open Source Career about 25 years ago.



Tuesday October 27, 2020 12:00 - 12:50 GMT
Linux Systems Theater

12:00 GMT

BPF Tales, or Why Did I Recompile the Kernel to Average Some Numbers? - Giulia Frascaria, Vrije Universiteit Amsterdam
“eBPF should stand for something meaningful, like Virtual Kernel Instruction Set”, says Brendan Gregg. Well we took that statement seriously, and had to put it to the test! Looking at current use cases we saw that eBPF can be used to filter and modify in-flight data for the networking stack, so we thought “why not storage?”, given the whole literature of work trying to reduce the size of data transfers. You know, end of Moore’s Law, blazing-fast new storage that outperforms CPU throughput, Big Data all over the place… Wouldn’t it be great if we could filter it with eBPF? Yes. Is it easy? Join the talk to find out (spoiler, not yet). In this talk we’ll stress-test eBPF, and see how it is tamed by the (very unforgiving) verifier, making it hard to even average a few numbers. Expect to hear about some kernel headaches.

Speakers
avatar for Giulia Frascaria

Giulia Frascaria

Research Assistant, Vrije Universiteit Amsterdam
Master student in Computer Science, soon-to-be PhD in the Vrije Universiteit of Amsterdam. Researching computer systems within the atLarge research group.Focusing on low-level systems, storage, networking and Linux kernel development



Tuesday October 27, 2020 12:00 - 12:50 GMT
Linux Systems Theater
  Linux Systems, BPF

13:00 GMT

DTrace: Leveraging the Power of BPF - Kris Van Hees, Oracle Corp.
BPF and the overall tracing infrastructure in the kernel has improved tremendously and provides a powerful framework for tracing tools. DTrace is a well known and versatile tracing tool that is being re-implemented to make use of BPF and kernel tracing facilities. The goal of this open source project (hosted on github) is to provide a full-featured implementation of DTrace, leveraging the power of BPF to provide well known functionality

The presentation will provide an update on the progress of the re-implementation project of DTrace. Kris will share some of the lessons learnt along the way, highlighting how BPF provides the building blocks to implement a complex tracing tool. He will provide examples of creative techniques that showcase the power of BPF as an execution engine.

Like any project, the re-implementation of DTrace has not been without some pitfalls, and Kris will highlight some of the limitations and unsolved problems the development team has encountered.

Speakers
KV

Kris Van Hees

Consulting Software Engineer, Oracle Corp.
Kris Van Hees works for Oracle Corp. He works primarily on tracing and debugging tools. Previously Linux projects (incl. with former employers) include OpenAFS, zLinux, and DTrace. His current project is the re-implementation of DTrace on top of Linux kernel tracing features like... Read More →



Tuesday October 27, 2020 13:00 - 13:50 GMT
Linux Systems Theater
  Linux Systems, Tracing

13:00 GMT

Panel Discussion: Outreachy Linux Kernel Internship Report - Helen Koike, Outreachy / Collabora; Jules Irenge, Lourdes Pedrajas, Kaaira Gupta & Shreeya Patel & Briana Oursler, Outreachy
Come learn about the amazing work our kernel interns have accomplished! Outreachy provides 3 months paid internships for people from groups traditionally underrepresented in tech to work on open source projects. The panel will present the following Linux kernel projects: * Briana Oursler: Improve and extend kernel networking self-tests running in namespaces * Jules Irenge: Fix lock-related warnings reported by sparse for core kernel code * Kaaira Gupta: Linux Media and libcamera: multi stream test support with VIMC * Lourdes Pedrajas: Improve and extend kernel networking self-tests running in namespaces * Shreeya Patel: Add SOF-Fuzzer support for i.MX8 platform

Speakers
BO

Briana Oursler

Outreachy Intern @ Linux Kernel, Outreachy
I am a Computer Science post baccalaureate student at Portland State University in Oregon, United States of America where I live with my husband and two cats. I have a background in logistics and administration and started learning Python code in 2017 to help with organizing data... Read More →
avatar for Helen Koike

Helen Koike

Outreachy Kernel Co-coordinator / Senior Software Engineer, Outreachy / Collabora
Helen Koike is a Software Engineer and Kernel developer with Collabora's kernel team. Her recent work includes the Rockchip ISP1 driver in the Video4Linux media subsystem. She has also contributed to other areas of the Kernel, including ASoC, device mapping, NVMe, maintains the Virtual... Read More →
avatar for Irenge Jules Bashizi

Irenge Jules Bashizi

PhD student, University of Manchester
Jules is a certified Linux administrator and has been using Linux as his main OS since 2008. He has been a student leader, a Linux computer Lab technician and a Computer Instructor prior to his postgraduate studies. Jules holds a Master of Science degree in Computer Science from The... Read More →
avatar for Lourdes Pedrajas

Lourdes Pedrajas

Outreachy Intern @ Linux Kernel, Outreachy
I worked as a system administrator and took care of documentation in development projects at companies. But always were interested of how the operating systems are made and give something in return to the OSes I was using. Then started to learn programming for this and read bits of... Read More →
avatar for Shreeya Patel

Shreeya Patel

Outreachy Intern @ Linux Kernel, Outreachy
I am a B.Tech. graduate in Information Technology. My journey with Linux Kernel started in second year of engineering and due to consistent contribution and involvement, I was offered to work on IIO subsystem’s drivers like adis16209, adt7316 where I learnt a lot of things related... Read More →
avatar for Kaaira Gupta

Kaaira Gupta

Outreachy Intern @ Linux Kernel, Outreachy
Kaaira Gupta is a junior undergrad pursuing her Bachelor of Technology with a Major in Geophysics and a Minor in Computer Science. She is exploring different domains of Computer Science and has a good command over Data Structures and Algorithms. She has tried Android development... Read More →


Tuesday October 27, 2020 13:00 - 13:50 GMT
Linux Systems Theater

16:15 GMT

Rootless Containers from Scratch - Liz Rice, Aqua Security
Containers have taken off as one of the foundational technologies that enabled cloud native application development and deployment. But despite their widespread adoption through Docker, Kubernetes and other tools, there has been a significant security risk: users have effectively needed root privileges in order to run containers on a host. Recently there have been significant advances to enable “rootless containers” - containers that can be run without requiring root privileges. This talk will use live-coding in Go to illustrate how rootless containers are created, exploring why root was originally required and what has changed to enable rootless operation. This talk assumes that you have some familiarity with how containers are built using namespaces, cgroups and chroot.

Speakers
avatar for Liz Rice

Liz Rice

VP Open Source Engineering, Aqua Security
Liz Rice is VP Open Source Engineering with cloud native security specialists Aqua Security, looking after projects including Starboard, Trivy, Tracee, kube-hunter and kube-bench. She is chair of the CNCF's Technical Oversight Committee, and was Co-Chair of KubeCon + CloudNativeCon... Read More →


Tuesday October 27, 2020 16:15 - 17:05 GMT
Linux Systems Theater

16:15 GMT

Tutorial: Running Your Own VM & Container Cluster at Home - Stephane Graber & Christian Brauner, Canonical Ltd.
LXD is an easy to use system container and virtual machine manager. On top of letting you create and run containers and virtual machines on a wide selection of storage and network options as well as featuring a modern REST API for remote management, it can also be very easily clustered. In this tutorial, we'll go over setting up LXD from scratch on 3 Raspberry Pi 4 and then configure it to allow remote systems to create and manage containers and virtual machines on those. Such a setup can be interacted with easily from the built-in command line tool available for Linux, macOS and Windows and can be shared with multiple users by using independent "projects" on that cluster. We'll also go over the most common web interface option to make it even easier to manage from any system on the network. This kind of setup can easily be replicated in the cloud or on any spare physical hardware and on the majority of hardware architectures. The Raspberry Pi 4 used in this case allows for someone to set such a redundant cluster for themselves at a very reasonable cost, making it a perfect way to experiment.

Speakers
avatar for Stéphane Graber

Stéphane Graber

Project leader for LXD, LXC and LXCFS, Canonical Ltd.
Stéphane Graber is the engineering manager for the LXD team at Canonical Ltd. He is the upstream project leader for LXC and LXD and a frequent speaker and track leader at events related to containers and Linux. Stéphane is also a longtime contributor to the Ubuntu Linux distribution... Read More →
avatar for Christian Brauner

Christian Brauner

Senior Software Engineer, Canonical
Christian Brauner is a kernel developer and maintainer of the LXD and LXC projects currently working at Canonical. He works mostly upstream on the Linux Kernel maintaining various bits and pieces. He is strongly committed to working in the open, and an avid proponent of Free Software... Read More →



Tuesday October 27, 2020 16:15 - 18:05 GMT
Linux Systems Theater

17:15 GMT

VM Forking & Hypervisor-Based Fuzzing with Xen - Tamas K Lengyel, Intel Corporation
In this talk we'll discuss Xen's new VM forking feature and the memory sharing subsystem it uses to achieve lightning-speed VM deployment. Forking a VM lends itself for use-cases where short-lived but identical VMs are useful, such as fuzzing. Using a hypervisor for fuzzing allows us to poke at code-locations that normally would be difficult or slow to fuzz, like the operating system itself. Without having to reboot the VM to recover it after a crash, fuzzing of the kernel and kernel modules can be achieved at great speed. We'll walk through the integration and harnessing required to start fuzzing a Linux kernel module using AFL on Xen. We'll further discuss other potential applications that are now achievable by combining Xen's VMI capability with VM forks. The presentation has been previously given at Xen Project Developer Summit 2020. This version of the talk will focus less on the hypervisor implementation details and more on the application of the system to fuzz various targets, such as system calls, kernel internal interfaces and even user-space applications.

Speakers
avatar for Tamas K Lengyel

Tamas K Lengyel

Senior Security Researcher, Intel Corporation
Tamas works as Senior Security Researcher at Intel corporation. He received his PhD in Computer Science from the University of Connecticut where he built hypervisor-based malware-analysis and collection tools. In his free time he is maintainer of the Xen Project Hypervisor's VMI subsystem... Read More →


Tuesday October 27, 2020 17:15 - 18:05 GMT
Linux Systems Theater
  Linux Systems, Testing & Fuzzing

18:30 GMT

The Fall of the Legacy - Vaibhav Gupta, Open Source Contributor
Power Management has always been a focal point in Linux, and along with PCI, it is like talking about fascinating powers subtle to handle. Among many ingredients of the magical PCI PM, PCI Core is a special one. The legacy framework provided good interaction between the Core and drivers, but a few years back, we came up with a generic approach that gave more control to the Core and made it possible for drivers to support PM without PCI helper functions. Vaibhav will discuss the simplification achieved after those unnecessary helper functions and the legacy support got removed as part of his project under the Linux Kernel Mentorship Program. He will talk about how this shift to the adoption of generic PM affects the performance and stability of PCI core functioning underneath. He will also discuss and share the work involved in converting drivers from legacy while balancing performance and stability along with changes to individual PCI drivers. You will come away with good knowledge of PCI PM and great respect for the community which has made it as performant as ever.

Speakers
avatar for Vaibhav Gupta

Vaibhav Gupta

Open-Source Contributor
Vaibhav Gupta is a senior year undergrad passionate about Kernel, Bootloader, Firmware, and any technology functioning closest to the hardware. He is an active contributor to Open-Source software. Recently, he worked on the Linux PCI Power-Management Framework under the Linux Kernel... Read More →



Tuesday October 27, 2020 18:30 - 19:20 GMT
Linux Systems Theater
  Linux Systems, Power Management

18:30 GMT

When You Come to a Fork in the Road, Take It: Finding Configuration Constraints from Kconfig, Kbuild, and the C Preprocessor - Paul Gazzillo, University of Central Florida
The Linux kernel source has thousands of compile-time configurations that allow for an enormous number of variations of the kernel binary. This extreme configurability enables the same codebase to be used for everything from refrigerators to cars to supercomputers. But such configurability also brings unique challenges to development and maintenance. Unexpected combinations of configuration options can expose unknown security holes, the sheer number of kernel variations makes testing all impossible, and the languages used to implement configurability hinder source-code tools such as IDEs, bug-finders, and refactoring tools. This talk will go over the challenges of scaling to Linux's massive configuration system and my research on using program analysis techniques and automated tools to extract configuration constraints from Kconfig, Kbuild, and the C preprocessor. I will demonstrate a free and open-source tool, klocalizer, resulting from this research. Given source files, klocalizer generates valid Kconfig kernel configurations that include the given source. Finally, I will go over future work and potential applications to testing, bug-finding, and security.

Speakers
avatar for Paul Gazzillo

Paul Gazzillo

Assistant Professor, University of Central Florida
Paul Gazzillo is an Assistant Professor of Computer Science at University of Central Florida. His research aims to make it easier to develop safe and secure software, and it spans programming languages, security, software engineering, and systems. Projects include program analysis... Read More →


Tuesday October 27, 2020 18:30 - 19:20 GMT
Linux Systems Theater

19:30 GMT

State of Linux Gaming - Gabriel Krisman Bertazi, Collabora
For too long, Windows has been the de facto platform for any serious gaming on computers. In fact, there is still much resistance by game studios from supporting multiple platforms, which can be explained in part by the specific challenges of porting them. Computer games are prime examples of complex applications who need to squeeze every bit of processing performance possible out of the system, usually making use of very specialized engines who exploit very specific features of the platforms they were designed for. Instead of waiting for studios to port their games, Wine, and the more recent Proton effort, attempt to fully emulate the original environment these games rely on. Much of this work, though, can only be done efficiently with specialized support by the kernel. In this talk, we will review the recent efforts to improve Linux support for emulation, always with the goal of enabling and speeding up recently released games on Linux. In addition, we will discuss specific pain points for emulation on Linux that we plan to solve in the near future.

Speakers
GK

Gabriel Krisman Bertazi

Senior Software engineer, Collabora
Gabriel Krisman Bertazi is a Senior Software Engineer with the Collabora kernel team, working to improve the experience of gaming on Linux. He implemented several kernel features to efficiently run Windows games over Valve's Proton emulation module, like the new Futex operation Futex... Read More →



Tuesday October 27, 2020 19:30 - 20:20 GMT
Linux Systems Theater
  Linux Systems, Linux on the Desktop

19:30 GMT

Writing Robust Bash Scripts - Leonardo Gutierrez Ramirez, AutoZone
Over the years I have seen too many incidents in production due to developers not taking seriously shell scripts, this is a big mistake. Shell scripts usually helps us to perform simple tasks but also to wire important processes. It is possible to write robust and well crafted shell scripts as any other language. In this talk we will review a set of techniques to write safer and robust shell scripts to avoid any production incidents.

Speakers
LG

Leonardo Gutierrez Ramirez

Technical Architect, AutoZone
Leonardo Gutierrez is a passionate Java/Go/Shell Scripting/Rust Technical Architect at AutoZone, an American retailer of aftermarket automotive parts and accessories, the largest in the United States. Leonardo is currently working on several internal projects focused on improve Developer's... Read More →


Tuesday October 27, 2020 19:30 - 20:20 GMT
Linux Systems Theater
 
Wednesday, October 28
 

12:00 GMT

A Faster Hibernation/Resume Using Opportunistic Memory Reclaim - Andrea Righi, Canonical
Hibernation is usually considered as an obsolete feature for laptops, but it can still provide significant benefits in many different scenarios, if it can be made to work reliably and efficiently. The main bottleneck of hibernation is the cost of I/O, both at hibernation and resume time, but it is possible to reduce this cost using opportunistic memory reclaiming techniques. Canonical has been actively experimenting hibernation in cloud computing and virtualized environments. In the process we had the opportunity to experiment some improvements and learn surprising lessons. This session shares some technical details of the solutions that we developed, the lessons learned and the results that we found.

Speakers
avatar for Andrea Righi

Andrea Righi

Kernel Engineer, Canonical
Andrea Righi works for Canonical as a Kernel Engineer, focusing on performance analysis, tracing, virtualization technologies and power management topics. Andrea started working with the Linux kernel in 2004 while he was a student at the University. His contributions were mostly focused... Read More →



Wednesday October 28, 2020 12:00 - 12:50 GMT
Linux Systems Theater
  Linux Systems, Power Management

12:00 GMT

Syscall Supervision - Christian Brauner, Canonical
Unprivileged programs such as containers employing user namespaces are severely restricted by the kernel to protect the host from malicious workloads. This means that certain syscalls are completely off-limits for critical workloads even when a privileged, supervising process such as the container manager can vouch for the safety. To solve this problem in a generic way we extended the Linux kernel to allow for syscall supervision. This means a process such as the container manager can receive notifications about the syscalls of a process running inside the container which remains blocked until the container manager allows it to proceed. In this talk we will look at how syscall supervision works in the kernel and how a container manager can use it to allow unprivileged containers to mount filesystems and create devices it would otherwise not be able to. We will also look at new features built on top of this enabling a container manager to inject and receive file descriptors from another process allowing to open() files for the container it would otherwise not be able to open.

Speakers
avatar for Christian Brauner

Christian Brauner

Senior Software Engineer, Canonical
Christian Brauner is a kernel developer and maintainer of the LXD and LXC projects currently working at Canonical. He works mostly upstream on the Linux Kernel maintaining various bits and pieces. He is strongly committed to working in the open, and an avid proponent of Free Software... Read More →


Wednesday October 28, 2020 12:00 - 12:50 GMT
Linux Systems Theater

13:00 GMT

Real-time Linux: What is Next? - Daniel Bristot de Oliveira, Red Hat
With the PREEMPT_RT mainlining, is the real-time Linux development ended? - No! It is the beginning of a new era. The low latency provided by the nowadays communication channels and the need for a software stack for AI/ML present on Linux is enabling a new class of cyber-physical systems that depends on real-time kernel. But, is the real-time kernel ready to be used in such scenarios? This presentation is a discussion about the current state of Real-time Linux. It will talk about the kind of determinism that is possible to obtain with Linux and the type of determinism that is still not possible to achieve. The main goal is to point to the next opportunities in the development that can enable Linux for a class of systems that requires more robust evidence of correctness, including the formal verification of the kernel and the mathematical analysis of the timing properties of the kernel.

Speakers
avatar for Daniel Oliveira

Daniel Oliveira

Principal Software Engineer, Red Hat
Daniel is a Principal Software Engineer at Red Hat, working in the real-time kernel team, and has a Ph.D. in Automation Engineering (UFSC)/Computer Engineering (Scuola Superiore Sant'Anna). He works in the research and development of real-time features and runtime formal verification... Read More →


Wednesday October 28, 2020 13:00 - 13:50 GMT
Linux Systems Theater

13:00 GMT

The Compact C Type (CTF) Debugging Format in the GNU Toolchain: Progress Report - Elena Zannoni & Nicholas Alcock, Oracle
The Compact C Type Format (CTF) is a reduced form of debug information describing the type of C entities such as structures, unions, etc. It has been ported to Linux (from Solaris) and used to reduce the size of the debugging information for the Linux kernel and DTrace. It was extended to remove limits and add support for additional parts of the C type system. Last year, we integrated it into GCC and GNU binutils and added support for dumping CTF data in ELF objects and some support for linking CTF data into a final executable (and presented at this conference). This linking support was preliminary: it was slow and the CTF was large. Since last year, the libctf library and ld in binutils have gained the ability to properly deduplicate CTF with little performance hit: output CTF in linked ELF objects is now often smaller than the CTF in any input .o file. The libctf API has also improved, with support for new features, better error reporting, and a much-improved CTF iterator. This talk will provide an overview of CTF, the novel type deduplication algorithm used to reduce CTF size and discuss the other contributions of CTF to the toolchain, such as compiler and debugger support.

Speakers
EZ

Elena Zannoni

Senior Director, Oracle
Elena Zannoni is the manager for the Linux Toolchain and Tracing team at Oracle. The team covers the GNU toolchain and DTrace for Linux, among other things. Elena was one of the original GDB global maintainers and has spoken worldwide on topics related to tracing at many conferences... Read More →
avatar for Nick Alcock

Nick Alcock

Senior Staff Engineer, Oracle
Nick (Nix) is a Senior Staff engineer at Oracle. Among Nick's tasks is DTrace for Linux, and now he is focusing on Binutils and CTF.



Wednesday October 28, 2020 13:00 - 13:50 GMT
Linux Systems Theater
  Linux Systems, Programming Languages and Toolchains

16:15 GMT

A Technical Deep Dive into the QEMU Emulated NVMe Device - Klaus Jensen, Samsung Electronics
The QEMU generic machine emulator and virtualizer includes a wide range of emulated devices. These devices can be very useful for debugging a software stack and for prototyping new features that is yet to be available in hardware and firmware. In this technical talk we focus on "prototyping new features" in the emulated NVMe device. We will go through the core event loop of the upstream device and explore how the recently ratified Namespace Types and Zoned Namespaces NVMe Technical Proposals can be implemented. Finally, we will design a custom (non-spec) command and go through a prototype implementation. We will then discuss how such a QEMU prototype implementation helps when developing the associated software stack and see how the feature can be tested and verified from a Linux host.

Speakers
avatar for Klaus Jensen

Klaus Jensen

Staff Software Engineer, Samsung Electronics
Klaus is a Software Engineer with a background in academia. He has worked in the area of High Performance Computing, old school UNIX systems, taken a stint in an IT consultancy and written a PhD on tape. He has been involved in the OpenChannel SSD community, and currently, in the... Read More →


Wednesday October 28, 2020 16:15 - 17:05 GMT
Linux Systems Theater

17:15 GMT

Lightning Talk: Open Source Software-Defined Storage for All-Flash Array Management - Vicki Chu, Industrial Technology Research Institute
All-Flash Array is replacing traditional hard disk drive to become the main data storage medium for enterprises and cloud data centers. However, flash memory has the inherent drawbacks of low performance for random write access and lifespan. In this talk, Vicki will introduce the open source All-Flash Array software-defined storage system, SOFA (Software Orchestrated Flash Array), developed by ITRI to free the flash memory from these two constraints with intelligent algorithm and system optimization. SOFA is to build a system software running on a storage server equipped with a flash memory disk array. Its main advantages are to provide high data protection while also achieving high random access. The system provides a block device for users to read and write data, and data will be stored distributedly across all SSDs by RAID5 protection. The technology breaks through the performance barrier, as exhibited by conventional approach of hardware or software based RAID5, and simultaneously doubles the lifespan of disk array by proprietary Global Wear Leveling mechanism.

Speakers
VC

Vicki Chu

Technical Manager, Industrial Technology Research Institute
Vicki Chu is now a technical manager in ITRI (Industrial Technology Research Institute) in Taiwan. She leads a team with six engineers working on software-defined storage development over eleven years. Current projects include an all-flash-array management software which is open sourced... Read More →


Wednesday October 28, 2020 17:15 - 17:25 GMT
Linux Systems Theater
  Linux Systems, Filesystems and Storage
  • Skill Level Any
  • Technical Talk No

17:15 GMT

Customized Trace Data Visualization with KernelShark - How to Write User Plugins. - Yordan Karadzhov, VMware
KernelShark is a front-end reader of tracing data and its data visualization capabilities have been proven very useful. Nevertheless, there are cases when the user has specific needs, that go beyond what is provided by the built-in visualization model. Although, the user customization was one of the key features incorporated in the design of KernelShark v1, the possibility to write plugins was not taken advantage by the KernelShark users. We believe that this will change with the release of KernelShark 2.0. The new version includes a substantial improvement to the infrastructure for plugins. The plugin development process was greatly simplified, while at the same time the user has more ways to customize. This talk will be a brief overview of how to create your own plugins and will demo some of the new key features in KernelShark 2.0, that are implemented in the form of plugins.

Speakers
avatar for Yordan Karadzhov

Yordan Karadzhov

Open source engineer, VMware
Yordan Karadzhov has more than 12 years of experience as experimental physicist, includes a Ph.D. in particle physics. During this period Yordan worked in some of the world's largest physics laboratories, like CERN, FermiLab and RAL, developing software for particle physics experiments... Read More →



Wednesday October 28, 2020 17:15 - 18:05 GMT
Linux Systems Theater
  Linux Systems, Tracing

17:30 GMT

Lightning Talk: Unravelling the Linux Kernel Using BPF Raw Tracepoints - Abhijit Singh, Uber
This talk aims at presenting the potential of BPF raw tracepoints. In a static tracepoints present in the Linux kernel, a dynamic tracer like ftrace or kprobe+bpf, might not get desired information about arguments passed in the tracepoint(e.g. many fields related to the task_switch struct aren't accessible such as nvcsw and nivcsw in the sched_switch tracepoint). With the introduction of BPF raw tracepoints, we can create a BPF program which can investigate each argument being passed to the tracepoint upon its invocation. The talk will commence with the rationale to introduce a raw BPF tracepoint. It would then present the signature of the BPF_RAW_TRACEPOINT api. It would also present a couple of example BPF programs which use raw tracepoints. 1) a program which prints the arguments being passed to the openat system call 2) a program which calculates total involuntary context switches, voluntary context switches over time for a system The talk would also highlight the low performance overhead of raw tracepoint as compared to other tracing infrastructure like kprobe+bpf.

Speakers
avatar for Abhijit Singh

Abhijit Singh

Software Engineer, Uber
I'm a software engineer, currently working in Uber. Previously, I used to work as a Performance Engineer at Azul Systems where I conducted thorough performance analysis of JVM applications and the underlying systems. I'm a keen systems performance enthusiast and follow Linux kernel... Read More →


Wednesday October 28, 2020 17:30 - 17:40 GMT
Linux Systems Theater
  Linux Systems, Tracing

18:30 GMT

Building Linux Distributions for Fun and Profit - Margarita Manterola, Kinvolk
There's many different approaches to building a linux distribution. Should we aim to have one distro to rule them all? Or should we have a specialized distro for each need? When does it make sense to go for one or the other? When running software on Kubernetes, does the distro running on the nodes make a difference? What about the distros in the containers? Marga has been building linux distributions for over 15 years. She started as a volunteer in the Debian project, continued as an engineer at Google, building the operating system used by other Google engineers. Currently, she is working on Flatcar Container Linux, Kinvolk's container optimized OS. This talk will build upon her experience to shed light on the advantages and disadvantages of having general purpose distributions vs narrow focus ones. Focusing in particular on the manageability and security implications at scale for cloud native applications. It will touch upon the redefined boundaries between the software running on the base OS and the containers, how to keep everything up to date, and how to stay sane in our current containerized world.

Speakers
avatar for Marga Manterola

Marga Manterola

Staff Software Engineer, Kinvolk
A Debian Developer and Open Source enthusiast, Marga has been working with Linux for over 15 years. Back in her hometown of Buenos Aires she led a large migration to Linux and open source tools, where she learned to navigate the tricky line between satisfying user needs and keeping... Read More →


Wednesday October 28, 2020 18:30 - 19:20 GMT
Linux Systems Theater

19:30 GMT

A New Futex2() System Call - André Almeida, Collabora
System calls grow old and show their age too. That is exactly the case of futex(), a fast synchronization mechanism for userspace added in the good old days 2.X kernels, hence kernel developers have been trying to improve its performance and add new features to cope with the requirements of more modern workloads. However, during these discussions in the mailing list one thing became very clear: we need a new version of the syscall, that can enable not only more complex use cases but also key performance improvement inside the kernel. This talk will present the challenges the new interface should address, the current progress on this new interface development, besides the outcomes from Linux Plumbers Conferece 2020.

Speakers
avatar for André Almeida

André Almeida

Consultant Associate Software Engineer, Collabora
André Almeida is a Linux Kernel Developer and an Associate Software Engineer at the open-source consultancy Collabora, where he's currently hacking core kernel subsystems, like futex and storage. He had previously spoken at Open Source Summit and DebConf.


Wednesday October 28, 2020 19:30 - 20:20 GMT
Linux Systems Theater
 

Twitter Feed