Linux Plumbers Conference 2017 proposals

Closed

Sort by: Title, Track, Submission date

* ktask: multithread cpu-intensive kernel work

As memory size and CPU counts increase on the largest systems, certain paths in the kernel that are single-threaded today are not scaling well and will become even bigger bottlenecks in the future. Examples include zeroing the biggest huge pages (e.g. 1G on x86), walking a process’s entire page table, and freeing large ranges of pages. These paths have been well optimized in one thread, so now it's a matter of scaling up the CPUs to match the amount of work to be done. One solution to this problem is ktask, a generic framework built on top of workqueues that takes care of splitting up a large task, starting a number of threads appropriate for the size of the task and the system, and load balancing the work between these threads. ktask uses internal limits to maintain an appropriate level of concurrency across the system. I want to get feedback on the overall approach and discuss similar scalability issues others are having in the kernel.
Unconference I 09/15/2017
James E.J. Bottomley

* Automated testing of LKML patches with Clang

It's useful to have bots automatically test proposed patches and notify authors when they fail to compile in certain configurations. Currently for Clang, a few folks interested in supporting it email authors when patches break things, but regression finding is currently not automated for Clang. I'd like to pick some brains as to what is a smart way to automatically test proposed patches for a seemingly limitless number of kernel configurations.
Unconference I 09/15/2017
Nick Desaulniers

* Soft Affinity for Workloads

For weak performance isolation with multi-tenancy for some applications by allowing space partitioning of CPUs, there is a need for applications to specify soft affinity to some CPUs. So that one "group" does not interfere with other "groups", yet allow the group to occupy the full set of CPUs when no one else is using it. Currently, CFS allows time sharing of CPUs and sched_setaffinity allows for "hard" affinity (or restricting CPUs to a given mask or set). One solution could be to to add a new cpumask other than cpus_allowed (which is used for "hard" affinity). Let's say cpus_preferred. And allow an application to set a preference to a set of CPUs if it so desires.
Unconference II 09/15/2017
James E.J. Bottomley

* Support for adding DT based thermal zones at runtime

During a recent project I encountered an issue where I needed support for thermal zones that get instantiated by a devicetree overlay. In our specific case we had temperature sensors on a daughtercard that is swap-able. I haven't found a good solution on how to make the current of-thermal code work with runtime added thermal-zones, (assumption is all thermal zones present at boot) and was wondering if people have clever ideas.
Unconference I 09/15/2017
James E.J. Bottomley

* Test driven development (TDD) in the kernel

Test driven development is a proven concept for user land projects, and is as far as I have seen to some extent used for kernel development, but is currently limited to what can be tested from user land, either via system call interfaces or by creating mock environments to compile selected kernel code in user land. Testing for instance kernel internal algorithms or usage of them, such as rbtrees, radix trees or sg lists cannot easily be done this way. Also, once the test is in kernel code, there are some very interesting low hanging opportunities such as for instance error injection and simple code coverage. I'd like to demonstrate a tool I created for this purpose, and that we develop and use internally in Oracle. It will be made available on Github for people to look at ahead of this unconference. I submitted a talk proposal for this, but it did not reach up, but I modestly think it is such a simple and good idea that I simply cannot wait yet another year without talking about it!
Unconference II 09/15/2017
Knut Omang

* A unit test framework for the Linux kernel

A unit test framework for the Linux kernel
Testing and Fuzzing 09/14/2017
Dhaval Giani, Knut Omang

* Unit Testing and Mocking

Discussion on the possible value of adding unit tests to the kernel.
Testing and Fuzzing 09/13/2017
Brendan Higgins

* Tying TPMs into the EFI boot stub

Tying TPMs into the EFI boot stub
Trusted Platform Module 09/13/2017
Matthew Garrett

* Introduction

Introduction
Trusted Platform Module 09/13/2017
Matthew Garrett

* syzkaller status update

A quick update on syzkaller
Testing and Fuzzing 09/12/2017
Alexander Potapenko

* KernelMemorySanitizer against uninitialized memory

I'll present KernelMemorySanitizer, a new tool for detecting uses of uninitialized values in the kernel. (slides)
Testing and Fuzzing 09/12/2017
Alexander Potapenko

* Kernel ABI

Kernel ABI
Testing and Fuzzing 09/11/2017
Sasha Levin

* Update on Distro/Stable testing

Update from the BoF
Testing and Fuzzing 09/11/2017
Dhaval Giani, Sasha Levin

* Fuzzers Panel

Fuzzers Panel
Testing and Fuzzing 09/11/2017
Dhaval Giani, Sasha Levin, Dave Jones

* ktest - How is it used and what more can be done

Discussion on ways to improve ktest and how it is used
Testing and Fuzzing 09/11/2017
Steven Rostedt

* Debugging BPF programs and infrastructure remotely on live systems

Share best practices for debugging BPF programs in production systems and discuss possible improvements.
Tracing / BPF 09/10/2017
John Fastabend

* Safe multicore scheduling in a Linux cluster environment

The Linux scheduler has become fairly complex and is not always able to preserve work-conservation. We present Ipanema, a DSL to write simple and safe schedulers with proven properties. (slides)
Scheduler Workloads 09/09/2017
Jean-Pierre Lozi

* TPM2 Software Stack: Status Report and Future Work

TPM2 Software Stack: Retrospective and Future Work (slides)
Trusted Platform Module 09/08/2017
philip tricca, Jarkko Sakkinen

* Crypto System Integration for TPM 2.0

status and next steps for crypto system integration of TPM 2.0
Trusted Platform Module 09/08/2017
James E.J. Bottomley

* BoF - Open Discussion

Open Discussion for issues not covered
Android/Mobile II 09/08/2017
Todd Kjos, Serban Constantinescu, Rom Lemarchand, John Stultz, Karim Yaghmour

* Using runtime PM callbacks for system suspend/resume in PM core

Discussion on a recent proposal to change the PM core so that it can reuse runtime PM callbacks directly for system suspend/resume in some situations.
Power Management and Energy Awareness 09/07/2017
Rafael Wysocki

* SVM on ARM SMMUv3

A brief overview of SVM on ARM. (slides)
VFIO/IOMMU/PCI 09/07/2017
Jean-Philippe Brucker

* virtio-iommu: a paravirtualized IOMMU

Status report on virtio-iommu, introduction of extensions for vSVM: page table handover, PASID and fault reporting. (slides)
VFIO/IOMMU/PCI 09/07/2017
Jean-Philippe Brucker

* The Android kernel lowmemorykiller replacement

The lowmemorykiller was dropped from staging, so this will cover what will replace it.
Android/Mobile I 09/07/2017
Todd Kjos, Tim Murray

* NVMe Surprise Removal

Discussion on problems related to supporting NVMe surprise removal
VFIO/IOMMU/PCI 09/07/2017
Shyamkumar Iyer

* new kprobe api

lessons from using kprobe text based api and proposed extensions
Tracing / BPF 09/07/2017
Alexei Starovoitov

* Treble and Kernel

Discussion around changes made to Android and to the tests / requirements as part of Project Treble (slides)
Android/Mobile I 09/06/2017
Sandeep Patil

* Testing Android common and LTS kernels

A quick overview of Android common and LTS testing efforts. (slides)
Android/Mobile I 09/06/2017
Marissa Wall, Amit Pundir

* Tracing and Kernel ABI

Talk about how we want to deal with trace points as a user space interface
Tracing / BPF 09/06/2017
Josef Bacik

* PCIe error statistics reporting

Report PCIe error statistics via sysfs
VFIO/IOMMU/PCI 09/06/2017
Jes Sorensen

* EFI + Intel TXT and TPM + Xen/Linux - how to make it work

EFI + Intel TXT and TPM + Xen/Linux - how to make it work
Trusted Platform Module 09/06/2017
Daniel Kiper

* Intro

Introduction to the Android Microconference
Android/Mobile I 09/06/2017
Todd Kjos, Serban Constantinescu, Rom Lemarchand, John Stultz, Karim Yaghmour

* SDCardFS Upstreaming

A description of SDCardfs and the plans to upstream it. (slides)
Android/Mobile II 09/06/2017
Daniel Rosenberg

* Clang built kernels

A talk on compiling the Linux kernel with Clang/LLVM. (slides)
Android/Mobile II 09/05/2017
Greg Hackmann, Nick Desaulniers

* Trusted Boot on Linux

What's been done over the past year, and what's still needed?
Trusted Platform Module 09/05/2017
Matthew Garrett

* The Android Emulator and Upstream QEMU

A historical perspective and future outlook of the Android emulator and upstream QEMU and their differences. (slides)
Android/Mobile I 09/05/2017
Jin Qian, Christoffer Dall

* LTS Efforts

Focused Efforts around LTS (slides)
Android/Mobile I 09/05/2017
Sumit Semwal

* Privileged actions in unprivileged containers

How to selectively allow privileged actions from otherwise unprivileged containers? (slides)
Containers 09/04/2017
Stéphane Graber

* UID/GID shifting filesystem overlays

An update on shiftfs and the next steps for remapping overlay filesystems.
Containers 09/04/2017
James E.J. Bottomley

* Welcome to the containers micro-conference

The usual introduction talk
Containers 09/04/2017
Stéphane Graber

* PCI Endpoint Subsystem Status

Status update on the PCI Endpoint Framework and next set of challenges (slides)
VFIO/IOMMU/PCI 09/04/2017
Kishon Vijay Abraham I

* eBPF cgroup filters for data usage accounting on Android

Describes current efforts to replace the out-of-tree Android xt_qtaguid kernel code with an upstream solution based on eBPF cgroup filters. (slides)
Tracing / BPF 09/01/2017
Chenbo Feng, Lorenzo Colitti

* Energy Aware Scheduling

Energy Aware scheduler development (slides)
Android/Mobile II 08/31/2017
Joel Fernandes, Andres Oportus, Patrick Bellasi, Juri Lelli, Juri Lelli

* Ion 2017

What is Ion in 2017 (slides)
Android/Mobile II 08/30/2017
Laura Abbott

* RT IPI schedule push/pull rework

Reworking the IPI logic to implement the RT (and deadline) scheduler for push/pull logic
Scheduler Workloads 08/30/2017
Steven Rostedt

* Scheduling under CPU capacity constraints

The potential difference in max and delivered CPU performance (capacity) is growing (thermal and peak current management), can we keep ignoring it, or should load-balancing factor the constraints in?
Power Management and Energy Awareness 08/30/2017
Morten Rasmussen

* Replacing xt_qtaguid with an upstream eBPF implementation

Describes current efforts to replace the out-of-tree Android xt_qtaguid kernel code with an upstream solution based on eBPF cgroup filters. (slides)
Android/Mobile I 08/30/2017
Chenbo Feng, Lorenzo Colitti

* Binder Enhancements in Oreo

Binder performance enhancements in 'Oreo' to support Treble (slides)
Android/Mobile II 08/29/2017
Todd Kjos

* Update on Devboards in AOSP (HiKey/HiKey960)

Recent and future developments on devboards supported in AOSP. (slides)
Android/Mobile I 08/29/2017
Dmitry Shmidt, John Stultz

* BOF - Open Discussion

Open Discussion
RDMA 08/29/2017
Leon Romanovsky, Dennis Dalessandro, Jason Gunthorpe, Christoph Lameter

* Workloads for evaluation CPU PM modifications

Discussion on which workloads to use (or what is recommended etc) for the evaluation of CPU PM changes in the kernel.
Scheduler Workloads 08/28/2017
Rafael Wysocki

* CGroup v2 and its impact for containers

CGroup V2 is pretty different from CGroup V1 and the two can't fully operate in parallel leading to problems running containers which only support one or the other.
Containers 08/28/2017
Christian Brauner

* Trace Visualization: Analyze perf, bpf, kernel and userspace traces with Trace Compass

Correlate traces from ebpf, perf and LTTng of large systems using the Trace Compass tool
Tracing / BPF 08/28/2017
Loic Prieur-Drevon, Geneviève Bastien

* uftrace: function tracer for user + kernel space

overview and discussion of uftrace tracing both user and kernel space
Tracing / BPF 08/28/2017
Namhyung Kim

* RoCE containers

Let's put RoCE in containers
RDMA 08/27/2017
Liran Liss

* Common Trace Format 2.0

Presentation of upcoming Common Trace Format (CTF) 2.0, discussion of use-cases. (slides)
Tracing / BPF 08/26/2017
Mathieu Desnoyers

* Tools to analyze scheduler behavior based on tracing and scheduler model

Improving event tracing, post-processing tools and scheduler models. (slides)
Scheduler Workloads 08/26/2017
Mathieu Desnoyers

* BPF Introspection with CTF

Discuss about using CTF to do BPF introspection
Tracing / BPF 08/25/2017
Martin KaFai LAU

* Next BPF Tools

Quick discussion of future BPF analysis tools
Tracing / BPF 08/25/2017
Brendan Gregg

* Tackling bpf uprobe performance

Briefing the preliminary dyninst based study, and then discussions.
Tracing / BPF 08/25/2017
Yonghong Song

* Improving estimation of Task/CPU's utilization

Review of a possible alternative solution to the "decay-clamp" idea.
Power Management and Energy Awareness 08/25/2017
Patrick Bellasi

* Utilization clamping support for the CPU controller

Discussion on the proposal for a per-task API to bias OPP selection.
Power Management and Energy Awareness 08/25/2017
Patrick Bellasi

* Hypertracing: Tracing Through Virtualization Layers

Syncless technique for tracing virtual machine on any layer (nested too) (slides)
Tracing / BPF 08/25/2017
Abderrahmane Benbachir

* Namespacing and Stacking the LSM

Making Linux Security Modules available to containers. (slides)
Containers 08/25/2017
John Johansen, Casey Schaufler

* Checkpoint/Restart for distributed applications

distributed checkpoint restart protocols
Checkpoint-Restart 08/24/2017
George Bosilca

* Hardware trace re-construction support in kernel

Kernel-assisted trace re-construction for JITed code
Tracing / BPF 08/24/2017
Suchakra Sharma

* addr->sym resolution by kernel in stack traces

user stack trace to name resolution is hard. Thankfully kernel can help
Tracing / BPF 08/23/2017
Alexei Starovoitov

* Userspace task placement on big.LITTLE systems

Discuss simple userspace daemon for placing tasks in heterogenous CPU systems
Power Management and Energy Awareness 08/23/2017
Michael Turquette

* schedutil usage/aggregation of utilization signals

schedutil usage/aggregation of utilization signals
Power Management and Energy Awareness 08/23/2017
Juri Lelli

* TX Flow Steering for IPsec

IPsec crypto offload using flow steering verbs
RDMA 08/23/2017
Liran Liss

* Atomic cpufreq set operation using platform firmware interface on ARM

How to achieve or make operations in OSPM atomic for CPU frequency scaling using platform firmware interface on ARM platforms ? (slides)
Power Management and Energy Awareness 08/23/2017
Sudeep Holla

* Update on CPU cluster idling

Update on CPU cluster idling
Power Management and Energy Awareness 08/23/2017
Ulf Hansson

* Update on the generic PM domain

A highlight of the recent changes made to genpd and an update of ongoing/next developments.
Power Management and Energy Awareness 08/23/2017
Ulf Hansson

* Sharing user-space Verbs context between processes

One PD to rule them all
RDMA 08/21/2017
Tzahi Oved

* User memory region (UMR)

Give flexibility to users to register memory
RDMA 08/21/2017
Tzahi Oved

* Towards perfect testing of applications checkpoint-restore

The talk is about our experience at CRIU with testing C/R technology.
Checkpoint-Restart 08/21/2017
Pavel Emelyanov

* Opened questions about container live-migration

How to integrate P.Haul with Docker and how to fix criu pre-dump. (slides)
Checkpoint-Restart 08/20/2017
Andrei Vagin

* RDMA and ULPs

RDMA and ULPs
RDMA 08/20/2017
Bart Van Assche

* vSVM: IOMMU API extensions

Discuss IOMMU changes needed for supporting guest use of shared virtual memory (SVM) (slides)
VFIO/IOMMU/PCI 08/17/2017
Jacob Pan

* vSVM: High Level Component Breakdown and Technical Challenges

Review vSVM requirements, use cases and technical challenges (slides)
VFIO/IOMMU/PCI 08/17/2017
Ashok Raj, Yi Liu, Jacob Pan

* Debugging with BPF sucks if you aren't a kernel developer

Talk about ways to make using BPF less awful for non-kernel hackers.
Tracing / BPF 08/17/2017
Josef Bacik

* Using bpf to model application behavior

Discuss the various ways BPF can be used to categorize workloads and use it to build generic workload simulators.
Scheduler Workloads 08/17/2017
Josef Bacik

* Power alongside performance (latency)

Check for power/perf regressions.
Scheduler Workloads 08/16/2017
Juri Lelli

* Use rt-app to run mobile-like (and other types of) synthetic workloads

Simulate workloads with rt-app
Scheduler Workloads 08/16/2017
Juri Lelli

* Exposing resource limits to containers with LXCFS

Introduction to the problem of cgroup limits visibility to userspace and the approach taken by LXCFS. (slides)
Containers 08/16/2017
Serge Hallyn

* Improving JVM Application Migration and Profiling with Checkpoint/Restore

Improving JVM migration and profiling by comibing C/R with internal JVM knowledge/techniques.
Checkpoint-Restart 08/16/2017
Rodrigo Bruno

* System Boot and RDMA

Discuss boot-time issues with the RDMA subsystem
RDMA 08/15/2017
Jason Gunthorpe

* Maximum payload size vs. Maximum Read Request Size

Maximum payload size vs. Maximum Read Request Size (slides)
VFIO/IOMMU/PCI 08/15/2017
Sinan Kaya

* Backporting issues with multi-subsystem device (RDMA + netdev + more)

More and more devices in RDMA are dependent on netdev as well as other subsystems -- target, NFS, scsi, block, cgroups, SELinux.... Can we make backporting task for distro people easier ?
RDMA 08/15/2017
Don Dutile

* kABI Update

Going forward with a flexible and secure RDMA kABI
RDMA 08/15/2017
Matan Barak

* Connection information

Connection information through RDMAtool
RDMA 08/15/2017
Leon Romanovsky

* Device statistics information (counters)

Exposure of various device counters through rdmatool
RDMA 08/15/2017
Dennis Dalessandro

* Configuration Request Retry Status (CRS) handling

Configuration Request Retry Status (CRS) (slides)
VFIO/IOMMU/PCI 08/15/2017
Sinan Kaya

* OpenFabrics Alliance - Status and New Directions

Open Fabrics Alliance - Status and New Directions
RDMA 08/15/2017
Jason Gunthorpe

* Paravirtual RDMA device

QEMU's limited RDMA support leaves it behind other modern hypervisors. Marcel and/or Yuval will present the implementation of an emulated RDMA device, analyze its performance and usability, and finally talk about future plans for a possible virtio-rdma device.
RDMA 08/15/2017
Yuval Shaia, Marcel Apfelbaum

* RDMA and the Linux IP stack

Lets try to avoid using specialized tools and APIs for the RDMA stack and try to support the Linux network tools and APIs as much as possible.
RDMA 08/15/2017
Christoph Lameter

* Running OCI containers with LXC

Can LXC be used to run OCI application container images? (slides)
Containers 08/14/2017
Serge Hallyn

* AppSwitch: Application Level Network Namespacing

This talk presents AppSwitch, a completely new TCP-layer network element similar to a router at IP layer or a bridge at link layer, that addresses a number of issues in modern environments, especially ones based on microservices.
Containers 08/14/2017
Dinesh Subhraveti

* Memory tracking for iterative container migration

Discuss usage of userfaultfd-WP for iterative container migration
Checkpoint-Restart 08/14/2017
Mike Rapoport

* Popcorn Linux: Compiler, Operating System and Virtualization Support for Application/Thread Migration in Heterogeneous ISA Environments

This talk will present the Popcorn Linux infrastructure, composed of compiler/operating system/virtualization support to enable application and thread migration across cores or machines of different Instruction-Set-Architecture.
Checkpoint-Restart 08/06/2017
Pierre Olivier, Sang-Hoon Kim, Rob Lyerly

* Namespacing IMA

Current status of namespacing of the Linux Integrity Measurement Architecture
Containers 07/31/2017
Stefan Berger

* Linux Power Management Frameworks Status Report

Status report of high-level PM frameworks in the Linux kernel.
Power Management and Energy Awareness 07/28/2017
Rafael Wysocki

* Targetted CPU thermal throttling

Discussion on throttling only processes, which are causing thermal issues
Power Management and Energy Awareness 07/24/2017
Srinivas Pandruvada

* Defensively designed container runtimes

In this talk we will present current roadblocks to a more defensive design that affect all container runtimes.
Containers 07/10/2017
Aleksa Sarai, Christian Brauner

* LKMM Installation and Use Workshop

Get LKMM installed and make use of it! (slides)
Linux-Kernel Memory Model Workshop 05/18/2017
Paul McKenney

* LKMM overview

Quick overview of Linux kernel memory model: How to install and use (slides)
Linux-Kernel Memory Model Workshop 05/18/2017
Paul McKenney