Kernel sub-systems

= I2C =

Basics of I2C on Linux [ELCE 2022]
Presenter: Luca Ceresoli, Bootlin Summary: This presentation is a guide to the basic concepts involved in using I2C on Linux: how I2C fits in the device model and device tree, writing device drivers, hardware and software tools and troubleshooting techniques.


 * PDF | VIDEO

Linux I2C in the 21st Century [ELCE 2019]
Presenter: Wolfram Sang, Consultant / Renesas Summary: This presentation provides information about build root, use, need, and cross ¬compiling toolchain.


 * PDF | VIDEO

I + I2C = I3C: What's in this Addition 'I'? [ELC 2018]
Presenter: Boris Brezillion, Bootlin Summary: This presentation provides information about the new features exposed by the I3C protocol in Linux and future possible improvements of I3C framework.


 * PDF | VIDEO

More Robust I2C Designs with a New Fault-Injection Driver [ELCE 2017]
Presenter: Wolfram Sang, Renesas Summary: This presentation provides information about new GPIO based driver scope and limitations and a case study of snoop busses with only free software and openHardware(i.e sigrok).


 * PDF | VIDEO

Tutorial:I2C Hacking Demystified [ELC 2016]
Presenter: Igor Stoppa, OpenSource Technology Center, Intel Summary: The slides provide information to create and operate a custom I2C peripheral as well as debugging tools for interaction between the two devices.


 * PDF | VIDEO

The Shiny New I2C Slave Framework [ELCE 2015]
Presenter: Wolfram Sang Summary: This presentation provides information about the I2C bus driver, data flow and slave interrupt handler.


 * PDF

Board Bringup: You, Me, and I2C [ELC 2013]
Presenter: David Anders, Texas Instruments Summary: The session talks about the communication principles, drivers and software tools and also about board bringup use cases on I2C.


 * PDF | VIDEO

David Anders, Texas Instruments [ELCE 2012]
Presenter:Board Bringup: You, Me, and I2C Summary: This presentation provides information about communication principles and synchronous communication interfacing.


 * PDF

= SPI =

SPI Memory Support in Linux and U-Boot [ELCE 2018]
Presenter: Miquèl Raynal, Bootlin Summary: This presentation provides information about SPI memories using the same SPI controller driver.


 * PDF

Groking the Linux SPI Subsystem [ELC 2017]
Presenter: Matt Porter, Konsulko Summary: This presentation provides the information about SPI framework, features of the SPI subsystem, which used to satisfy hardware and performance requirements in an embedded Linux system.


 * PDF | VIDEO

An Introduction to SPI-NOR Subsystem [ELCE 2017]
Presenter: Vignesh Raghavendra, Texas Instruments India Summary: This presentation providing an overview of the SPI-NOR framework and provides an overview of writing a new controller driver.


 * PDF | VIDEO

What's Going on with SPI [ELC 2014]
Presenter: Mark Brown, Linaro Summary: This presentation provides status of the SPI subsystem in Linux kernel and methods to optimally use the SPI hardware by minimizing delays and CPU utilization


 * PDF | VIDEO

Passing Time With SPI Framebuffer Driver [ELC 2012]
Presenter: Matt Porter, Texas Instruments Summary: The talk covers details on registering the SPI device and drivers as well as debugging tools for SPI.


 * PDF

=PCI=

Overview of PCI(e) Subsystem	 [ELCE 2015]
Presenter: Kishon Vijay Abraham, Texas Instruments Summary: This presentation gives information about PCI subsystem its topology, i/o lines and ECAM.


 * PDF

= USB =

Modern USB [ELC 2019]
Presenter: Andrzej Pietrasiewicz, Collabora Summary: This presentation provides information about important use-cases like gadget creation device boot time, etc.. and provides details on USB functions implementation.


 * PDF | VIDEO

USB Protocol introduction [ELC 2019]
Presenter: Krzysztof Opasiak, Samsung R&D Institute Poland. Summary: The session talks about open source/hardware tools and tools for USB traffic modification.


 * PDF | VIDEO

Debugging Usually Slightly Broken (USB) Devices and Drivers [ELC 2017]
Presenter: Krzysztof Opasiak, Samsung R&D Institute Poland. Summary: This presentation provides information about USB protocol, standard Linux host side infrastructure and analyzes USB traffic without expensive USB analyzers.


 * PDF | VIDEO

Understand USB (in Linux) [ELC 2016]
Presenter: Krzysztof Opasiak Summary: The slides talk about the USB protocol, implementation in Linux and basics of USB host implementation.


 * PDF | VIDEO

Understand USB (in Linux) [ELCE 2015]
Presenter: Krzysztof Opasiak, Samsung Summary: This presentation provides information about USB protocol implementation, hardware for USB communication, USB classes, and use of USB device.


 * PDF | VIDEO

USB and the Real World [ELC 2014]
Presenter: Alan Ott, Signal 11 Software. Summary: This presentation provides information about Linux USB Gadget Interface and USB speed, USB Standards and hardware.


 * PDF

Kernel USB Gadget Configfs Interface [ELC 2014]
Presenter: Matt Porter, Linaro. Summary: The talk covers information about the Linux USB terminology, a brief history of USB gadget subsystem and usage of USB gadget configfs.


 * PDF | VIDEO

USB and the Real World [ELCE 2014]
Presenter: Alan Ott Summary: This presentation provides information about USB bus speed, USB standards, USB terminology, and logical USB device.


 * PDF

Tame the USB Gadgets Talkative Beast [ELCE 2014]
Presenter: Krzysztof Opasiak, Samsung Summary: This presentation provides information about USB overview, USB function in kernel, and USB function type.


 * PDF

Useful USB Gadgets on Linux.
Presenter: Gary Bisson, Adeneo Embedded [ELC 2012] Summary: This presentation provides information about USB gadget API, covers ways to design your own gadget and all basics of USB.


 * PDF

USB Debugging and Profiling Techniques [ELCE 2012]
Presenter: Kishon Vijay Abraham Summary: This presentation provides information about USB Linux system architecture, USB debugging Techniques, and challenges in debugging.


 * PDF

Do More With Less - On Driver-less Interfacing with Embedded Devices [ELCE 2010]
Presenter:Peter Korsgaard Summary: This presentation provides information about USB class protocol, USB functionality, and Linux USB gadget stack.


 * PDF

Enhancements to USB Gadget Framework [ELC 2008]
Presenter: Conrad Roeber. Summary: The topics covered in this presentation include USB architecture, creation of USB gadgets and comparison of gadget API and Linux-USB API.


 * PDF

= GPIO =

New GPIO Interface for User Space [ELCE 2017]
Presenter: Bartosz Golaszewski, BGDev Summary: This presentation will showcase the new features of the GPIO UAPI, discuss the current state of libgpiod and explains why it's beneficial to switch to the new interface.


 * PDF | VIDEO

GPIO for Engineers and Makers [ELCE 2016]
Presenter: Linus Walleij Summary: This talk will go over the changes to the GPIO subsystem in the recent years, including GPIO descriptor refactoring, new support for things like open drain, some words on device tree and ACPI hardware descriptions.
 * PDF | VIDEO

PinControl and GPIO Update [ELC 2013]
Presenter: Linus Walleij, ST-Ericsson Summary: The session talks about information about GPIO sub-system, pin control subsystem and GPIO subsystem drivers interface.


 * PDF | VIDEO

Pin Control Subsystem Overview [ELC 2012]
Presenter: Linus Walleij, ST-Ericsson Summary: The session covers information about pin configuration sub-system interface and GPIO formation.


 * PDF

= Interrupts =

Working with HardIRQs: Life Beyond Static IRQ Assignments [ELC 2011]
Presenter: Paul Mundt (Renesas) Summary: This presentation provides information about the overview of sparseirq and transparent demux - A case study.


 * PDF

Using Interrupt Threads to Prioritize Interrupts [ELC 2010]
Presenter: Mike Anderson Summary: This session talks about some misconceptions of ISRs, latency in real-time systems and ways to execute interrupt code in thread context and also does some performance comparisons.


 * PDF

Use of the Fast IRQ (FIQ) in ARM-Linux [ELCE 2009]
Presenter:  Alessandro Rubini Summary: This presentation discusses about what is FIQ, it's use cases and an live example of STE Nomadik.


 * PDF

= Clocking =

Common Clock Framework how to use it [ELCE 2013]
Presenter: Gregory Clement Summary: This presentation talks about what the common clock framework is, implementation of the common clock framework and how to add your own clocks.


 * PDF

Common Clock Framework (BoFs) [ELC 2012]
Presenter: Mike Turquette, Texas Instruments Summary: This presentation provides information about Common implementation of API in include/linux/clk.h and basic clock types.


 * PDF

A Generic Clock Framework in the Kernel: Why We Need It & Why We Still Don't Have It	 [ELCE 2011]
Presenter:  Sascha Hauer (Pengutronix e.K.) Summary: This presentation talks about what are clocks, problems and its necessity.


 * PDF

A Generic Clock Framework Implementation [ELCE 2009]
Presenter:Francesco Virlinzi Summary: This presentation provides information about Linux Generic Clock Framework (GCF) and its features.


 * PDF

Linux Clock Management Framework [ELCE 2007]
Presenter: Siarhei Yermalayeu Summary: This presentation provides introduction to hardware clock generation on Systems on Chips and Clock Management SW Framework.
 * PDF

= Memory =

Swapping & Embedded: Compression Relieves the Pressure? [ELC 2016]
Presenter: Vitaly Wool, Softprise Consulting Summary: This talk will give a comprehensive description of ZRAM and its counterpart, zswap, a summary of pros and cons of both, presents some new ideas on how to combine these approaches for good results.


 * PDF | VIDEO

Stale Data, or How We (Mis-)manage Modern Caches [ELC 2016]
Presenter: Mark Rutland, ARM Ltd. Summary: This presentation provides information about ARM architecture, significant ways caches, and related components have evolved over the last decade.


 * PDF | VIDEO

An Overview of the Kernel DMAEngine Subsystem [ELC 2015]
Presenter: Maxime Ripard, Free Electrons Summary: This presentation gives an overview of DMA Engine sub-system in the Linux Kernel.


 * PDF

Tizen: System-Wide Memory Defragmenter Without Killing Any Application [ELC 2015]
Presenter: Pintu Kumar, Samsung Summary: This session talks about different memory reclaimation techniques in the kernel.


 * PDF

Volatile Ranges [ELC 2014]
Presenter: Mincham Kim, LG Electronics Summary: With userspace processes gobbling up memory, this presentation talks about different methods the userland can inform kernel that a range of memory can be safely discarded.


 * PDF

Kernel Dynamic Memory Allocation Tracking and Reduction [ELC 2013]
Presenter: Ezequiel Alfredo Garcia, VanguardiaSur Summary: This session covers aspects of memory usage tracking in tiny embedded devices.


 * PDF | VIDEO

System-wide Memory Management without Swap [ELC 2013]
Presenter: Howard Cochran, Lexmark International Summary: This presentation talks about memory management challenges in Linux, especially in Lexmark devices and limitations of glibc malloc and also talks about probable solutions.


 * PDF

Tips of Malloc and Free [ELC 2013]
Presenter: Tetsuyuki Kobayashi, Kiyoto Microcomputer Summary: This session talks about customizing malloc and free library for better troubleshooting.


 * PDF | VIDEO

Controlling Linux Memory Fragmentation and Higher Order Allocation Failure: Analysis, Observations and Results [ELC 2012]
Presenter: Pintu Kumar, Samsung Summary: This presentation provides information about measuring the memory fragmentation level and memory fragmentation analysis.


 * PDF

Saving the Power Consumption of the Unused Memory [ELC 2012]
Presenter: Loïc Pallardy Summary: This talk discusses about DDR power management function called Partial Array Self-Refresh (PASR).


 * PDF

Software Considerations When Using High-Performance Memory Systems [ELCE 2010]
Presenter: Leif Lindholm Summary: This presentation aims to explain some of what goes on underneath your feet when developing software for modern computer systems.


 * PDF

Visualizing Process Memory [ELC 2009]
Presenter: Matt Mackall Summary: This presentation talks about memory conservation techniques in Linux by sharing memory between processes using smem.


 * PDF
 * PDF

Memory...The Most Precious Resource [ELC 2009]
Presenter: Dan Malek Summary: This presentation talks about usage of memory cgroups with examples and also talks about out-of-memory killer as well.


 * PDF

Superpages Revisited: Transparent Application of Large TLBs on Embedded Systems [ELC 2009]
Presenter: Paul Mundt Summary: This session talks about application of large TLBs in a transparent manner to implement superpages.


 * PPT

Compressed Swap Solution for Embedded Linux [ELC 2008]
Presenter: Alexander Belyakov Summary: This session talks memory conservation in an embedded world when memory requirements are constantly growing. One of the ideas explored as part of this presentation is storage of compressed swap pages in flash.


 * PDF
 * PDF

Avoiding OOM on Embedded Linux [ELC 2008]
Presenter: YoungJun Jang Summary: This presentation talks about ways of avoid Out-of-memory situation in Linux.


 * PDF

Making a Phone Call With Phase Change Memory [ELC 2008]
Presenter: Justin Treon Summary: This presentation demonstrates ways to get Linux up on a phone with memory changed using Phase Change Memory technique.


 * PDF | VIDEO

System-wide Memory Profiling [ELC 2007]
Presenter: Matt Mackall Summary: This presentation narrates ways to calculate system-wide memory usage using available information on the Linux system in proc file system.


 * HTML

=Flash=

Flash Subsystems Status Update [ELCE 2019]
Presenter: Richard Weinberger, sigma star gmbh & Miquèl Raynal, Bootlin Summary: This talk will give an update on what happened in the last two years on both Linux and U-Boot flash subsystems.


 * PDF | VIDEO

Better Alignment of Flash Storage to Mobile System Behavior [ELCE 2016]
Presenter: Alex Lemberg, SanDisk Company Summary: This presentation will cover what storage driver developers need to know in order to enable mobile/embedded flash devices to perform faster.
 * PDF | VIDEO

= Thermal =

Intelligent Power Allocation for Consumer & Embedded Thermal Control[ELC 2016]
Presenter: Ian Rickards, ARM Ltd Summary: This presentation provides information about new &ldquo;Intelligent Power and Allocation &ldquo; (IPA) governor.


 * PDF | VIDEO

Making Gadgets Really "cool" [ELC 2013]
Presenter: Noor UI Mubeen, Intel Technology India Pvt Ltd Summary: This presentation provides information about Tskin's virtual sensor and Skin zone temperature.


 * PDF | VIDEO

= Scheduling =

SCHED_DEADLINE: It's Alive! [ELC 2017]
Presenter: Juri Lelli, ARM Ltd. Summary: In this talk, the speaker does a review of the current set of features of SCHED_DEADLINE scheduling policy, will deep dive into the details of all the new features currently under development: CPU capacity and clock frequency scaling, bandwidth reclaiming, coupling with clock frequency selection and cgroups support.


 * PDF | VIDEO

SCHED_DEADLINE: A Status Update [ELC 2016]
Presenter: Juri Lelli, ARM Ltd Summary: This presentation will review current status of the SCHED_DEADLINE feature and also talks about next set of scheduler enhancements for SCHED_DEADLINE.


 * VIDEO

Using SCHED_DEADLINE	 [ELCE 2016]
Presenter: Steven Rostedt, Red Hat Summary: This talk will discuss how to implement an application that uses SCHED_DEADLINE as well various issues that one must cope with.


 * PDF | VIDEO

Deadline Miss Detection with SCHED_DEADLINE [ELC 2013]
Presenter: Yoshitake Kobayashi, TOSHIBA Corporation Summary: This presentation provides information about SCHED_DEADLINE and its evaluation.


 * PDF | VIDEO

Adventures in (simulated) Assymmetric Scheduling [ELC 2013]
Presenter: Pantelis Antoniou, Antoniou Consulting Summary: This presentation provides information about Paul Turner's load average patches and Methods of simulating an asymmetric system.


 * PDF | VIDEO

Improvement of Scheduling Granularity for Deadline Scheduler [ELCE 2012]
Presenter: Yoshitake Kobayashi, Toshiba Summary: This presentation talks about deadline scheduler, SCHED_DEADLINE and its evaluation.


 * PDF

=MTD=

Modernizing the NAND Framework: The Big Picture [ELCE 2016]
Presenter: Boris Brezillon, Free Electrons Summary: This presentation provides an overview of the current architecture of the MTD and NAND subsystems and highlights its shortcomings.


 * PDF | VIDEO