Linux: Reducing the cost of upstream development to encourage collaboration

Similar documents
Intel GFX CI and IGT. What services do we provide, our roadmaps, and lessons learnt! Martin Peres & Arek Hiler Feb 3 rd 2018

The Embedded Linux Problem

Keeping up with LTS Linux Kernel Functional Testing on Devices

Build the unified end to end IoT solution on ARM LEADING COLLABORATION IN THE ARM ECOSYSTEM

How to decide Linux Kernel for Embedded Products. Tsugikazu SHIBATA NEC 20, Feb Embedded Linux Conference 2013 SAN FRANCISCO

Open Enterprise & Open Community opensuse & SLE Empowering Each Other. Richard Brown opensuse Chairman

[RFC] Obtaining Management Buy-in for Mainline Development

Lecture 3: Processing Language Data, Git/GitHub. LING 1340/2340: Data Science for Linguists Na-Rae Han

LINUX KERNEL UPDATES FOR AUTOMOTIVE: LESSONS LEARNED

LTSI Project update. Hisao Munakata, Renesas Tsugikazu SHIBATA, NEC 29. April 2014 Embedded Linux Confenrece

Software configuration management

API/ABI Stability and LTS: Current state and Future John McNamara, Ian Stokes, Luca Boccassi, Kevin Traynor, DPDK Summit Userspace - Dublin- 2017

A Big Little Hypervisor for IoT Development February 2018

AOSP Devboard Update & Recent/Future Pain Points. John Stultz

Organising benchmarking LLVM-based compiler: Arm experience

Running Android on the Mainline Graphics Stack. Robert

Continuous integration and good testing practices while coding

Team Up: Contributing to the Tizen Platform. Narasimha Swamy Sanjay NM

Linaro Year 6. BKK16 George Grey, Linaro CEO

July 2014 Masashige Mizuyama CTO of Automotive Infotainment Business Division, Panasonic Corp.

HiKey in AOSP - Update. John Stultz

LTSI Project update Long Term Support Ini0a0ve. Tsugikazu SHIBATA 20, June at Open Source Summit Japan, Ariake Tokyo

Car Connectivity Consortium. MirrorLink and the Connected Car

Building a reference IoT product with Zephyr. Ricardo Salveti Michael Scott Tyler Baker

Windows 8: an overview

Red Hat Summit 2009 Rik van Riel

SharePoint Development Web Development Generate from Usage. Cloud Development Windows Development Office Development

Beyond git add/commit/push

Automated Testing of Tableau Dashboards

LTSI Project update Long Term Support Ini0a0ve. Tsugikazu SHIBATA, NEC 23, Oct Embedded Linux Conference Europe Hilton Prague

Test Driven Development (TDD)

A Program on Computers and Related Hardware. Karl Weirauch & Mike Juszczyk

Continuous Integration / Continuous Testing

Fosdem Feb/2018. Frederic Marec Embedded Engineer

Continuous Integration. Johannes Seitz

Mesa i965 Scenes from a Quiet Revolution

Upstreaming Hardware Enablement

BRINGING OPENWRT TO MARKET

The Cost of Going it Alone Dave Neary

Building downloadable Sailfish OS and next steps of Jolla with Sailfish 3

End-to-End Agile Testing using Incremental Approach for a Leading EIM Solution Provider ATTENTION. ALWAYS.

Mainline on form-factor devices / Improving AOSP

FPLLL. Contributing. Martin R. Albrecht 2017/07/06

Oracle Applications in a Changing Business World. Legacy Oracle Applications Won't Be Around Forever. Will You?

Mini-Summit October 26, 2011

LINARO CONNECT 23 HKG18 George Grey, Linaro CEO

LTSI Project update Long Term Support Ini0a0ve. Tsugikazu SHIBATA, NEC 21, February 2017 Embedded Linux Conference Hilton Portland, OR

Are you Really Helped by Upstream Kernel Code?

Sync Points in the Intel Gfx Driver. Jesse Barnes Intel Open Source Technology Center

Source control with Subversion A user perspective

Technology Background Development environment, Skeleton and Libraries

HKG net_mdev: Fast-path userspace I/O. Ilias Apalodimas Mykyta Iziumtsev François-Frédéric Ozog

USB Voltage and Current Tester Kit

Agenda. What is Replication?

Thomas Lippert Principal Product Manager. Sophos Mobile. Spring 2017

AMM Feb/2018. Frederic Marec Embedded Engineer

AEM Code Promotion and Content Synchronization Best Practices

Swimming Upstream. Dave Neary, Red Swimming upstream Dave Neary

Backporting is so 1993

Advanced Systems Security: Virtual Machine Systems

Maintaining an Out-of-Tree Driver and an Upstream Driver Simultaneously (with minimal pain)

"Last Mile" Barriers to Removing Legacy BIOS

Software Development I

IT-Security Challenges in the Internet of Things. Christian Graffer Product Manager Endian

Money Management Account

Learn how to get started with Dropbox: Take your stuff anywhere. Send large files. Keep your files safe. Work on files together. Welcome to Dropbox!

DMA safety in buffers for Linux Kernel device drivers

Generic Buffer Sharing Mechanism for Mediated Devices

Virtualization Food Fight. Rik van Riel

Improving the Reliability of Commodity Operating Systems. Mike Swift, Brian Bershad, Hank Levy University of Washington

Android Everywhere. Cristina Segal, EMEA Director Android Solutions GM Android testing tools

Time is ready for the Civil Infrastructure Platform

CS 4518 Mobile and Ubiquitous Computing Lecture 2: Introduction to Android. Emmanuel Agu

Contents Release Notes System Requirements Using Jive for Office

A L A TEX-oriented intro to Git

We are the Leader in Type

Milestone Systems. XProtect Smart Client 2017 R3. Hardware acceleration guide

Mike McQuaid INCLUDES 66 TECHNIQUES. Foreword by Scott Chacon MANNING

LF Real-Time Operating Systems: Evolution and Trends. Kate Stewart. Senior Director of Strategic

Ingegneria del Software Corso di Laurea in Informatica per il Management (D)VCS. Davide Rossi Dipartimento di Informatica Università di Bologna

Application parallelization for multi-core Android devices

An Introduction to Mobile User Assistance

Sample Exam. Advanced Test Automation Engineer

HOW TO MAKE THE CASE TO MANAGEMENT: PAYING FOR OPEN SOURCE

February 2 nd Jean Parpaillon

Embedded Linux Now and the future with LTSI. Hisao Munakata, Renesas Tsugikazu SHIBATA, NEC 27. March 2014 CollaboraDon Summit

Enable Infrastructure Beyond Cloud

A Novel Approach to IVI

Testing. in A Large scale agile Development Environment

Partnering for User Acceptance Testing Success

Digitalization of Kernel Diversion from the Upstream

Windows. Everywhere else

Defensible and Beyond

Design Better. Reduce Risks. Ease Upgrades. Protect Your Software Investment

Accessing OSIRIS and using OSIRIS through GitHub

Martin Dubois, ing. Contents

Introducing The Lab in a Box Concept ELC-E Prague, October 2017 Patrick Titiano - Kevin Hilman, Baylibre.

Is Server-To-Server Header Bidding Right For You? What You Need To Know

About SJTUG. SJTU *nix User Group SJTU Joyful Techie User Group

DPDK Roadmap. Tim O Driscoll & Chris Wright Open Networking Summit 2017

Transcription:

Linux: Reducing the cost of upstream development to encourage collaboration Martin Peres Intel Open Source Technology Center Finland November 20, 2017

Summary 1 Introduction 2 Upstream issues 3 Forked kernels issues 4 Pros of upstream development 5 Making testing cheaper

Introduction Introduction Linux is everywhere Most of the servers/networking equipments; 80% of smartphones (Android) and 65% of tablets; Entertainment systems (at home, cars, planes,...); Majority of IoT devices. World domination? No, because all products use outdated kernels! Most products actually use forked kernels...

Introduction Introduction Is that a problem? Yes, it lowers collaboration and leads to: Less features: All features do not get upstreamed/backported; Poorer Quality/Security: Less eyes per tree, fixes duplicated.

Summary 1 Introduction 2 Upstream issues 3 Forked kernels issues 4 Pros of upstream development 5 Making testing cheaper

Why upstream is no good for vendors? Upstream from a vendor s perspective Objectives of making a product Get it as good as possible, and as quickly as possible Challenges with upstream Linux development not product-oriented: Releases not in sync with products; Conflicting objectives: upstream wants generic solutions Code sharing between drivers mandated: AMD s DAL/DC; Stable user ABIs, no user-visible regressions; Increased dev. cost and Time-To-Market (TTM) Forked kernel? Full control over the code; None of the above challenges!

Summary 1 Introduction 2 Upstream issues 3 Forked kernels issues 4 Pros of upstream development 5 Making testing cheaper

Objectives Issues with forked kernel What should be done when the next product comes? Re-use the previous product s kernel? technical debt; Rebase changes: can amount to a full re-implementation. Challenges with forked kernels You don t get to shape the future of Linux: Out-of-tree code is not supported; Risk that internal changes break your features and userspace; Maintenance? Automotive products need 10+ years of maintenance; Linux Long-Term Support (LTS) maintained for 2 years; LTS releases only get fixes, no new features; Rebasing generates no revenue.

Summary 1 Introduction 2 Upstream issues 3 Forked kernels issues 4 Pros of upstream development 5 Making testing cheaper

Objectives Pros of upstream development Nice features of upstream development Non-regression of the user ABI makes updates easy; Never need to rebase: Others improve Linux and your code; Problem: Testing isn t free! Unless constantly tested, a feature gets accidentally broken; Without continuous testing, updating isn t free!

Summary 1 Introduction 2 Upstream issues 3 Forked kernels issues 4 Pros of upstream development 5 Making testing cheaper

Objectives How to make testing cheaper? Reducing manual testing to 0 Pre-merge testing is the best way to prevent regressions; Linux accepts about 8 changes per hour, in average; all testing needs to be automated! Problems with automated testing The full product needs to be tested; Requires system-level testing; Need for better HW-assisted test suites!

Objectives How to make testing cheaper? Example of full product testing: Project trebble Android 8 de-couples the UI from the vendor-provided system; The vendor interface is fully unit tested; could be used for continuous integration! What can we do on our side? Lead by example: provide regression free graphics!

Objectives How to provide regression-free graphics? Many dependencies Improve the coverage of Open Source test suites to test: all graphic-related features of the kernel; all drivers. Validation HW: Chamelium everywhere for testing DP/HDMI/VGA and sound CI platform: running the relevant test suites on all drivers; decentralized so as everyone can add platforms; developped and maintained by everyone; Controller instance hosted on fd.o?