Review of the Stable Realtime Release Process

Similar documents
Real Time BoF ELC 2012

Status of Linux 3.x Real Time and Changes From 2.6

Red Hat Summit 2009 Rik van Riel

Adventures In Real-Time Performance Tuning, Part 2

Case Study: Challenges and Benefits in Integrating Real Time patch in PowerPc Based Media System

Benchmark and comparison of real-time solutions based on embedded Linux

2013 Toshiba Corporation

How Linux RT_PREEMPT Works

Real Time Linux patches: history and usage

Preempt-RT Raspberry Linux. VMware Tiejun Chen

Abstract. Testing Parameters. Introduction. Hardware Platform. Native System

Kernel maintainership: an oral tradition

The Status of the Preempt-RT Patch

Disclaimer. This talk vastly over-simplifies things. See notes for full details and resources.

Evaluation of Real-time operating systems for FGC controls

Testing real-time Linux: What to test and how.

Disclaimer. This talk vastly over-simplifies things. See notes for full details and resources.

State of the Linux Kernel

The most underrated quality of Steve Jobs: Presentation Skills. I never saw anyone doing better than him.

How To Reinstall Grub In Windows 7 With Cd Rom

Embedded Linux Birds of a Feather Session

SUSE Linux Entreprise Server for ARM

Keeping Up With The Linux Kernel. Marc Dionne AFS and Kerberos Workshop Pittsburgh

Real-Time and Performance Improvements in the

Lecture 4: Memory Management & The Programming Interface

Todd Deshane, Ph.D. Student, Clarkson University Xen Summit, June 23-24, 2008, Boston, MA, USA.

... IBM Power Systems with IBM i single core server tuning guide for JD Edwards EnterpriseOne

Manual Of Virtualbox Additions Linux Mint 12

Performance and Sizing Guide

You Can t Move Forward Unless You Can Roll Back. By: Michael Black

Overview. This Lecture. Interrupts and exceptions Source: ULK ch 4, ELDD ch1, ch2 & ch4. COSC440 Lecture 3: Interrupts 1

Intel Cache Acceleration Software (Intel CAS) for Linux* v2.9 (GA)

Parallel Simulation Accelerates Embedded Software Development, Debug and Test

QGIS Application - Bug report #17043 Browser keeps scanning directory with gpkg file

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

Windows 7 Will Not Load On My Computer Says I'm

Introduction to Computing and Systems Architecture

How To Reinstall Grub In Windows 7 Without Cd Dell

Open Source Automation Development Lab eg. Quality assessment and assurance of embedded systems. The OSADL QA Farm

Why You Should Not Use Arch

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

LTSI Project update Long Term Support Ini0a0ve. Tsugikazu SHIBATA, NEC Hisao Munakata, Renesas 20, May 2014 LinuxCon so

Boot Interrupt Quirks and (RealTime) Interrupt Handling on x86. Olaf Dabrunz, Stefan Assmann

How To Manually Install Software In Linux Mint 14 Cinnamon Edition

White Paper. How the Meltdown and Spectre bugs work and what you can do to prevent a performance plummet. Contents

AMD DEVELOPER INSIDE TRACK

Solved How To Manually Remove Old Kernels From Ubuntu 12.04

STAR Watch Statewide Technology Assistance Resources Project A publication of the Western New York Law Center,Inc.

SAS Enterprise Miner Performance on IBM System p 570. Jan, Hsian-Fen Tsao Brian Porter Harry Seifert. IBM Corporation

OTC Tools Development and Release process. Igor Stoppa & Eduard Bartosh & JF Ding V May 2013

Linux Kernel Evolution. OpenAFS. Marc Dionne Edinburgh

The Embedded Linux Problem

IT DEPT MAINTAINER. Upstream in a LEGAL. Downstream Environment. PATCHES Dinh Nguyen Senior Embedded SW Engineer ELC Dublin 2015

Path analysis vs. empirical determination of a system's real-time capabilities: The crucial role of latency tests

Git Workbook. Self-Study Guide to Git. Lorna Mitchell. This book is for sale at

CS 326: Operating Systems. CPU Scheduling. Lecture 6

Final Lecture. A few minutes to wrap up and add some perspective

LCA14-104: GTS- A solution to support ARM s big.little technology. Mon-3-Mar, 11:15am, Mathieu Poirier

Introduction p. 1 Why Linux? p. 2 Embedded Linux Today p. 3 Open Source and the GPL p. 3 Free Versus Freedom p. 4 Standards and Relevant Bodies p.

Intel vpro Technology Virtual Seminar 2010

ET: Legacy Development - Bug #44 Remove SMP code

Modern Processor Architectures. L25: Modern Compiler Design

Manual Install Ubuntu Alongside Windows 7 Using Usb

Kernel Probes for ARM. Quentin Barnes Motorola - Mobile Devices April 17, 2007

Homework Question. Faster, faster, faster! (40 points)

Java Without the Jitter

Ubuntu Installing Instructions Macbook Pro Hard Drive Cable

Kernel driver maintenance : Upstream vs. Industry

Manually Installing Windows Updates Server 2008 R2 On Vmware 8 >>>CLICK HERE<<<

Do Manual Windows Update 7 Home Premium 64 Bit Sp1 Language Pack

Virtualization Food Fight. Rik van Riel

OpenACC Course. Office Hour #2 Q&A

How To Install Java Manually Linux Mint 14 >>>CLICK HERE<<<

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

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

Windows 7 Will Not Install On My Computer Says I'm

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

ò Server can crash or be disconnected ò Client can crash or be disconnected ò How to coordinate multiple clients accessing same file?

Real-Time Technology in Linux

Software configuration management

NFS. Don Porter CSE 506

Leverage Vybrid's asymmetrical multicore architecture for real-time applications by Stefan Agner

Operating Systems. Written by Justin Browning. Linux / UNIX Distributions Report

Future Trends in Hardware and Software for use in Simulation

Building Debian-Based Products: Experiences in Collaboration

dcache as open-source project showcase for education Tigran Mkrtchyan for dcache team CHEP2018, Sofia,

Disco: Running Commodity Operating Systems on Scalable Multiprocessors

David R. Mackay, Ph.D. Libraries play an important role in threading software to run faster on Intel multi-core platforms.

Deby - Reproducible and Maintainable Embedded Linux Environment with Poky

LINUX OPERATING SYSTEM Submitted in partial fulfillment of the requirement for the award of degree of Bachelor of Technology in Computer Science

CLOSE ENCOUNTERS OF THE UPSTREAM RESOURCE

Flatpak and your distribution. Simon McVittie

Realtime BoF Session RealTime Testing Best Practice of RealTime WG YungJoon Jung

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)

ECE 571 Advanced Microprocessor-Based Design Lecture 9

Unikernels? Thomas [Twitter]

TDDC88 Lab 4 Software Configuration Management

When Do Real Time Systems Need Multiple CPUs?

A Comparison of Scheduling Latency in Linux, PREEMPT_RT, and LITMUS RT. Felipe Cerqueira and Björn Brandenburg

Ubuntu Installing Instructions Macbook Pro Hard Drive Dual

Transcription:

Review of the Stable Realtime Release Process An unscientific, slightly opinionated stab at the current status... With the intent of generating some discussion. Frank Rowand, Sony Network Entertainment August 31, 2012 120831_1153

Where this info comes from My experiences Scanning linux-rt-users email list Request for feedback on linux-rt-users email list

Scanning linux-rt-users email list Culled from emails that I had not bothered to delete from my mailbox. So there probably were other relevant emails that I have deleted. 41 people 72 messages

Stable Series First Version 3.0.10-rt27 3.2.15-rt25 3.4.1-rt9

Versions Referenced 2.6.33.9-rt31 2.6.33.20-rt31 3.0.9-rt25 3.0.20-rt35 3.0.10-rt27 3.0.20-rt36 3.0.10-rt27 Ubuntu 10.04.3 LTS 3.0.23-rt29 3.0.12-rt29 3.0.25-rt44 3.0.12-rt30 3.0.26-rt45 3.0.12-rt30-rc1 3.0.30-rt50 3.0.12-rt30-rc2 3.0.31-rt51 3.0.12-rt30-rc3 3.0.34-rt55 3.0.14-1.rt31 3.0.36-rt57 3.0.14-1.rt32-rc1 3.0.36-rt58 3.0.14-rt31 3.0.36-rt58-rc1 3.0.14-rt32

Versions Referenced 3.2-rc4-rt6 3.4.2-rt10 3.2.9-rt17 3.4.3-rt11 3.2.12-rt22 3.4.3-rt11 under xen 3.2.16-rt27 3.4.4-rt13 3.2.17-rt28 3.4.8-rt16 (fedora 17) 3.2.17-rt28-fc16 3.4.9-rt17 3.2.18-rt29 3.2.20-rt32 3.2.23-rt36 3.2.23-rt37 3.2.27-rt40

Systems Referenced ARM dual-core Cortex-A9 HP Compaq 6710s laptop ARM i.mx pcm043 i686 core2 6300 ARM i.mx35 i686, x86_64 ARM Pandaboard intel 24 core ARM PCM043 mips Toshiba TX4938 ARM RealView powerpc MPC85xx ARM Naviengine powerpc MPC8xx custom Dual Opteron 244 ppc64, Freescale P5020 Intel I7 860 ppc64, MacPro G5 SMP AMD64 raspberry pi HP Compaq 6710s laptop thinkpad t410, x86_64

Email Content - fix - Osadl Stable vs Rostedt stable question - performance regression - problem - reproduce problem - test

1) Have you downloaded any stable RT releases? If so, approximately how many? If not, why not? 2) How do you use the stable RT release? To run on a single system? To place on a product that is sold / lent / given away? To create a distribution? Other? 3) Is the stable RT release useful and valuable? (How many beers do we owe to Steve when we run into him at conferences?) Why is it useful and valuable? 4) If the stable RT release is not useful, why isn't it? 5) What changes would make the stable RT release more useful? Why would the changes make it more useful?

6) What changes would make the stable RT release better? 7) What should _not_ change about the stable RT release? 8) How frequently do you test a stable RT release (percent of releases)? 9) How intensively do you test a stable RT release? Boot? Functional test? Performance test(s)? Other test(s)? Single target (type of computer)? Multiple targets? How many different types of targets? 10) Which series have been useful? Which series is currently most useful (can be more than one)? (3.0.x, 3.2.x, 3.4.x) 11) Any other random or useful comments or opinions?

7 responses

1) Have you downloaded any stable RT releases? If so, approximately how many? If not, why not? - All - almost every update on the stable branch I'm tracking. - All of them. - 3.2, which was the latest stable release available when we needed one. - about every second release. - Yes, 24.

2) How do you use the stable RT release? To run on a single system? To place on a product that is sold / lent / given away? To create a distribution? Other? - build and test enterprise kernels. - control our industrial machines, which are sold all around the world. - runs on 20-30 developer computers - We run a test center for quality assessment... - From time to time, we release a "Latest Stable" real-time kernel version

2) How do you use the stable RT release? To run on a single system? To place on a product that is sold / lent / given away? To create a distribution? Other? - intend to sell a product that contains a stable RT kernel - a product that is currently under development and is about to be released for sale at the end of this year - internal distro, will be used to create consumer products

3) Is the stable RT release useful and valuable? (How many beers do we owe to Steve when we run into him at conferences?) Why is it useful and valuable? - [beers] Steven, Thomas, and all their friends, couldn't possibly put a dent in it and remain conscious ;-) - It allows to stay close to the distributions kernel version. - It gives some stability. - Creates a better quality base to build on.

3) Is the stable RT release useful and valuable? (How many beers do we owe to Steve when we run into him at conferences?) Why is it useful and valuable? - The product we intend to sell is marketed for its determinism. - we've used Steven's rebased versions... which we've found useful to maintain a clean history - having one developer maintaining a public stable rt release avoids a lot of the same work being done by lots of peaple

4) If the stable RT release is not useful, why isn't it? - Because it is not stable. Should it ever become stable, nobody would notice.

5) What changes would make the stable RT release more useful? Why would the changes make it more useful? - Softirqs dying would be great, they're a thread meets lock rendezvous - We would need to establish a transparent release procedure and a list of known bugs

5) What changes would make the stable RT release more useful? Why would the changes make it more useful? It would be useful to know what systems a given release have been run on (e.g., OSADL). Is there prerelease criteria for a stable RT release? If so, what are they? Mainly interested in what processors and chipsets have been tested and test results (e.g., cyclictest). If something like this existed, we would be willing to submit results."

6) What changes would make the stable RT release better? - Fix bugs, before you release - Maintain a list of undefined, unresolved, unfixed etc. bugs [Bugzilla suggested] - every report to the linux-rt-user mailing list should go to this Bugzilla system - Fewer concurrent branches, to concentrate testing, fixes. Downside could be that the branch we care about is dropped.

7) What should _not_ change about the stable RT release? - That they're maintained and released should definitely _not_ change. - I really like that Steve put this thing into a git repository. It makes tracking vanilla RT much simpler.

8) How frequently do you test a stable RT release (percent of releases)? - 100% of 3.0, others not so frequently, days being made of finite hours - I usually test major updates to a new kernel version or if I change the kernel configuration. But I do some trivial testing for every new kernel before I distribute them to my fellow developers. - 100%

8) How frequently do you test a stable RT release (percent of releases)? - Since we started, we have tested two stable 3.2 RT releases - I test about 50% of stable releases - 24. Some get more extensive testing (the ones that go into the internal development tree).

9) How intensively do you test a stable RT release? Boot? Functional test? Performance test(s)? Other test(s)? Single target (type of computer)? Multiple targets? How many different types of targets? - All of the above, but for not enough targets, not enough tests and not enough hours. Primary targets are small IBM, and largish HP. - We perform our day-to-day linux development on a stable-rt kernel. - For every stable update that I pull in I usually run cyclictest for a few hours on my desktop and do some browsing, compilation etc.

9) How intensively do you test a stable RT release? Boot? Functional test? Performance test(s)? Other test(s)? Single target (type of computer)? Multiple targets? How many different types of targets? - For new releases or kernel configuration changes I deploy the kernel to one of our machine control PCs and have it drive an EtherCAT Bus for 2-3 days. The software sends a new frame to the bus every 250us. If the time between 2 frames exceeds 2ms, the hardware will cause a bus error, which tells me that something is wrong. - Our computers run various intel CPUs with a 64b kernel

9) How intensively do you test a stable RT release? Boot? Functional test? Performance test(s)? Other test(s)? Single target (type of computer)? Multiple targets? How many different types of targets? - We run 100 million cyclictest wakeup cycles twice a day (takes 5 hours and 33 minutes each). - In addition, we test for real-time performance under idle, moderate and heavy CPU load and under accelerated graphics load. We also check for performance and latency regressions and for stability. About 80 different boards with four main architectures are continuously under test. Overview: https://www.osadl.org/?id=879. Continuous latency monitoring: https://www.osadl.org/?id=864 Latency plots: https://www.osadl.org/?id=1313

9) How intensively do you test a stable RT release? Boot? Functional test? Performance test(s)? Other test(s)? Single target (type of computer)? Multiple targets? How many different types of targets? - We run system-level tests on top of the RT release. We test interrupt latency, jitter (baseline, with malloc, with peripheral drivers), file I/O throughput, network throughput, floating point performance, boot time. We also test for regression of available memory or disk. - Tests are functional tests on a single target (Freescale i.mx31 based device).

9) How intensively do you test a stable RT release? Boot? Functional test? Performance test(s)? Other test(s)? Single target (type of computer)? Multiple targets? How many different types of targets? - Light testing (18 versions): 3 ARM targets Compile and boot - Heavy testing (6 versions): 4 ARM targets Large variety of kernel configurations. Large number of functional tests. Performance tests. Throughput, latencies, scheduler related.

10) Which series have been useful? Which series is currently most useful (can be more than one)? (3.0.x, 3.2.x, 3.4.x) - 2.6.x and 3.0.x constitute the main course on my dinner plate, so those. - 2.6.31 for a very long time, then 3.0 for some time. Since april we run 3.2.23-rt37 on our development computers, the machine computers are still on 3.2.17-rt28. - no series can be recommended for production yet

10) Which series have been useful? Which series is currently most useful (can be more than one)? (3.0.x, 3.2.x, 3.4.x) - 3.2.x - Currently we use the 3.0.x series but are considering to switch to the 3.4.x series because of its newly announced long-term support - 3.0.x

11) Any other random or useful comments or opinions? No additional comments

[ One response appeared to be about 2.6.x ] I have used rt kernel in industrial control, however not 'stable' In general the latest kernel available, have been picked, and from there on stay with latest since all developement is on latest, when you got something stable, pick that kernel and stay with it for that release of hard and software.

These were embedded controllers, running a closed loop, so we did test and got statistics from hardware measurements, ( a bit of timing and such in external hardware ), but also had watchdogs in hardware so to much jitter or overrun 'tripped' the system. So stay with latest until youre done, then stop at stable were our strategy.

Random Thoughts What trees (does Steve) / (should Steve) want to maintain? Greg KH is currently maintaining stable kernel trees for the following amount of time: 3.0 - for at least one more year 3.4 - for at least two years 3.5 - until 3.6.1 is out http://lkml.indiana.edu/hypermail/linux/kernel/1208.2/02624.html Ben Hutchings is maintaining: 3.2.17 ++ http://lkml.indiana.edu/hypermail/linux/kernel/1204.2/03657.html

Random Thoughts What trees (does Steve) / (should Steve) want to maintain? Answer - intent is to: - Follow Greg KH stable trees - Currently following Ben Hutchings Debian tree

Random Thoughts git vs quilt ---- please, no religious arguments - Steve's choice, he is doing the work - Some of the feedback commented on the value of git - The release and -rebase tags make it possible to use 'git format-patch' to create a set of broken out files for the quilt model - Steve initially warned that the -rebase tags may not be available always

Random Thoughts git vs quilt ---- please, no religious arguments - I depend upon the rebasing, so I can create a broken out series for the quilt model - Steve may be considering creating the broken out series as one of his release delivery methods

Random Thoughts There is recurring confusion due the to overloading of stable. - Steve's releases are following the naming convention of the Greg KH stable releases. - OSADL has a history of labeling releases as OSADL latest stable.

Random Thoughts How to reduce confusion about what is stable? - Frank will document the two terms on rtwiki. - Should Steve's release announcements have boilerplate to explain the difference, or say it is not the OSADL latest stable? - Should the OSADL latest stable web page explain the difference?

Random Thoughts - Are the stable RT releases a big workload for Steve? - Any other things to discuss?