Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible...
Transcript of Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible...
![Page 1: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/1.jpg)
1
![Page 2: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/2.jpg)
2
Linux in ambito industriale , real-time, hypervisors
e boot velocePaolo Gai, [email protected]
Bruno Morelli, [email protected]
Applicazioni industriali e real-time su dispositivieterogenei multi/many-core
T3Lab, Bologna, 18/10/2017
![Page 3: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/3.jpg)
3
The company
Founded in 2002 as spin-off company of the Real-Time Systems Lab at Scuola Superiore S.Anna~22 qualified people with an average age of 38 years
15+ years of experience in academic and industrial projects One third of the company has a PhD degree
Our Mission : We design and develop great software for small electronic devices
![Page 4: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/4.jpg)
4
products and services
Application Development
RTOS , Firmware, Embedded Linux
• AUTOSAR, OSEK/VDX,device drivers
• Embedded Linux: 12 Yrs experience BSPs, GCC, U-Boot, Kernel drivers
• Initial developers of the SCHED_DEADLINE patch
• Hypervisors, Android, Ubuntu Core, QEMU and emulators
Model-based design• Matlab/Simulink/Stateflow
• National Instruments LabView
• E4Coder toolset for code generation
• UML/SYSML/Ecore/Eclipse/Acceleo
![Page 5: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/5.jpg)
5
Linux and Real-Time
Why is a Real-Time Linux interesting?• Merge together the real-time part and the HMI on the same machine
• Availability of Linux API and device drivers with real-time properties
What is the current status of Real-Time Linux?
It depends a lot on…• the CPU architecture chosen for the product
• the peripherals (mainly the device drivers!)
• the needed quality of service
![Page 6: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/6.jpg)
6
Linux, Real-Time and QoS
• Hard Real-Time < 1ms• Multi-OS Approach (with/without hypervisor)• Dual-OS Approach (RTAI/Xenomai)
• Soft Real-Time 1-10ms• Preemption Patch
• Real-Time priorities• SCHED_DEADLINE/GRUB
• Soft Real-Time > 10ms• Unpatched kernel
• Real-Time priorities• SCHED_DEADLINE/GRUB
![Page 7: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/7.jpg)
7
Multi-OS configurations
Main Idea: Linux on one CPU, RTOS on another CPU
…we’ll see some examples later on in the presentation
Hypervisor
RTOSLinux
CPU(s) 1. Hypervisor:• One/more CPU running both Linux and a certified
RTOS
• Open-Source hypervisors (KVM, Xen, Jailhouse)
Linux
CPU 1
Shared memoryShared memory
RTOS
CPU 2 2. Multi-core platform :
• Example: i.mx6, i.mx8, soloX
• One core: Linux
• Other core: RTOS
• The «other core» can be a «small» core
![Page 8: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/8.jpg)
8
Dual-OS configurations
• Linux is patched to route the “important” IRQs to a small microkernel
• RTAI or Xenomai• Abstraction Layer with full control of interrupts and system timers
• Linux executed as a background task
• Web: http://www.rtai.org and http://www.xenomai.org
![Page 9: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/9.jpg)
9
Real-Time Linux: RTAI / Xenomai
• Basic idea: Hardware Abstraction Layer (HAL)
• Full control of interrupts and system timers
• Linux executed as a background task
• Various projects
• RTAI / Xenomai
• Rt-Linux / Partikle
Hardware
Abstraction Layer
Linux OSReal-Time Tasks
Linux Tasks
![Page 10: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/10.jpg)
10
Xenomai 3
• Started in 2001 as an emulation of traditional RTOS API
• Skins implementing various APIs of traditional RTOS such as VxWorks, as well as the POSIX API, and a ``native'' API.
Dual OS configuration As a user library
![Page 11: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/11.jpg)
11
Soft Real-Time: PREEMPT_RT
• It reduces maximum latencies through threaded interrupts and preemptible spinlocks
• A Linux Foundation project: https://wiki.linuxfoundation.org/realtimeMain contributors: I. Molnar, S. Rostedt, T. Gleixner
• Available for the most recent Linux kernel releases
• Supports all the major embedded architectures
• Makes all but the most critical kernel code involuntarily preemptible
![Page 12: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/12.jpg)
12
PREEMPT_RT (2)
• Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes
• Benefit: reduce maximum latency
• Threaded interrupts:• Converting interrupt handlers into preemptible kernel threads
• Reduces latency by running soft IRQs and selected or all hard interrupts in a dedicated kernel thread (managed in process context by the regular Linux scheduler).
• Thanks to this, real-time tasks can have priority over some or all IRQs. Previously, even soft IRQs were run before any task managed by the scheduler.
• Priority Inheritance• Merged inside vanilla kernel since Linux 2.6.18
![Page 13: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/13.jpg)
13
Myths about PREEMPT_RT
• It will improve throughput and overall performance• Wrong: it will degrade overall performance.
• It will reduce average latency• Often wrong. The maximum latency will be reduced.
• The primary goal is to make the system predictable and deterministic!
![Page 14: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/14.jpg)
14
• Real-time CPU scheduler created by Evidence Srl• Made in collaboration with ReTiS Lab of Scuola Sant'Anna• It allows real-time isolation between running tasks
• http://www.evidence.eu.com/sched_deadline.html
• http://en.wikipedia.org/wiki/SCHED_DEADLINE
• Integrated into the official Linux kernel• Available since kernel 3.14
• Reclaiming added in kernel 4.13
![Page 15: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/15.jpg)
15Hercules - G.A. 688860
SCHED_DEADLINE taskruntime = 2 msec
period = 10 msec
2 10
Task throttled
1
� "Hard reservation" rule to avoid starvation of lower-priority tasks
� Non work-conserving: RT tasks blocked even if system is idle
� http://en.wikipedia.org/wiki/SCHED_DEADLINE
3 4 5 6 7 8 9 11 time
(msec)
SCHED_DEADLINE taskruntime = 3 msec
period = 20 msec
2 101 3 4 5 6 7 8 9 11 time
(msec)
Task resumed
Merged into the official Linux kernel since 3.14 (2014)
![Page 16: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/16.jpg)
16
GRUB� Greedy Reclamation of Unused Bandwidth (GRUB) algorithm:
� G. Lipari, S. Baruah, Greedy reclamation of unused bandwidth in constant-bandwidth servers, 12th IEEE Euromicro Conference on Real-Time Systems, 2000.
� L. Abeni, J. Lelli, C. Scordino , L. Palopoli, Greedy CPU reclaiming for SCHED_DEADLINE, Real-Time Linux Workshop (RTLWS), Dusseldorf, Germany, 2014.
SCHED_DEADLINE taskruntime = 2 msec
period = 10 msec
2 10
Per-task SCHED_FLAG_RECLAIM
flag to reclaim bandwidth
not used by blocked RT tasks
1 3 4 5 6 7 8 9 11 time
(msec)
5% bandwidth for
execution of non RT task
![Page 17: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/17.jpg)
17
Multi-OS on Linux
![Page 18: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/18.jpg)
18
Rationale
![Page 19: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/19.jpg)
19
AMP configuration: with/without Hyp.
Real-time and quality of service for IVI systems with/without hypervisor!
• ERIKA running on one core
• Linux on the other cores
• No Hypervisor
• …or JailHouse Hypervisor
![Page 20: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/20.jpg)
20
ERIKA Enterprise (v2 and v3)
http://erika.tuxfamily.org http://www.erika-enterprise.com
• ERIKA Enterprise is an RTOS OSEK/VDX certified
• ERIKA Enterprise implements the AUTOSAR OS API
• open-source license and double licensing optionsallowing static linking of closed src code
• Used by various industries and research projects
![Page 21: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/21.jpg)
21
Linux + ERIKA without hypervisor
We envision the possibility to exploit multi-cores to run Linux and Erika Enterprise complementing each other!
Multi-core SoC
Linux RTOS(Erika)
HMI
Engine/Body
Shared memory
![Page 22: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/22.jpg)
22
Demo presented at AGLW 2013
Based on a Freescale iMX6
We let U-Boot handle the multicore boot
• ERIKA starts almost immediately
• Linux can start afterwards
No hypervisor
• could be useful in some cases to protect the behavior of misbehaving applications
• limited need because we statically allocate a CPU to each OS
Can be used with other CPUs
• Example – SoloX (Cortex A + Cortex M)
![Page 23: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/23.jpg)
23
AMP: Interaction model
Linux � ERIKA
• Linux can trigger the following actions:• activate a task
• set an event
• start an Alarm
• increment a counter
(similar to those doable on a remote core of an AUTOSAR OS)
• Linux can stop and reload the ERIKA application
Linux � ERIKA
• Simple asynchronous message passing allowing asynchronous read/write of variable length buffers on predefined channels
![Page 24: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/24.jpg)
24
Classification of hypervisors
Hypervisor
CPU CPU CPU CPU
Hardware
OS OS OS
Type 1(native or bare-metal)
Hypervisor
CPU CPU CPU CPU
Hardware
OS OS OS
Type 2(hosted)
OS
![Page 25: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/25.jpg)
25
AMP Configuration: ERIKA with XEN
http://xenproject.org/about/events/viewevent/154-linuxcon-eu-integrating-linux-and-the-real-time-erika-os-through-the-xen-hypervisor.html
In collaboration with the University of Modena, Arianna Avanzini integrated ERIKA Enterprise as domU under XEN on a CubieBoard (Allwinner A20)
Presented at CloudCon Europe October 15th 2014, Dusseldorf
+
![Page 26: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/26.jpg)
26
Hypervisor configuration – H2020 Hercules
Architecture and platform for customized low-power heterogeneous computing systems, for Automotive and Avionics
Jan 2016-Dec 2018
Partners:
• UNIMORE
• Magneti Marelli
• Airbus
• Evidence
• Pitom
• CTU
• ETH Zurich
![Page 27: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/27.jpg)
27
Slide archittetura hercules GTC
Programming model(s) abstraction
Hypervisor abstraction
RTE
Linux
“Big.LITTLE-like” core complexE.g., 4 cortex A57 + 2 Denver
big bigltl ltl
GPU firmware
ISA subdomain #1 ISA subdomain #2
GPU
RUNTIME
ltl ltl
Linux
Host-sidePREM
compilerGPU-side PREM
compiler
![Page 28: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/28.jpg)
28
Jailhouse
• Small, lightweight hypervisor
• Young project (2013) by Siemens
• License: GPLv2
• Code hosted on GitHub
• Goals: safety-critical & certification(goal: 10.000 lines of code per architecture)
![Page 29: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/29.jpg)
29
Jailhouse (2)
A tool to run... real-time and/or safety-critical tasks... on multi-core platforms... aside Linux
It provides... strong & clean isolation... bare-metal like performance & latencies
![Page 30: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/30.jpg)
30
Jailhouse (3)
The isolated compartments are called cells:• One root cell• One or more non-root cells
The guest softwareis called inmate
![Page 31: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/31.jpg)
31
Jailhouse (4)
• Partitioning hypervisor
– More focused on isolation and resource assignment
than on virtualization
• Linux is required ("root" cell)
– Similar to Xen's dom0 but w/out full control of hw
– Type-1 (Linux used only for management interface and load/unload
guests)
• Can't run unmodified OSs
– Even Linux on non-root cells need to be patched
![Page 32: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/32.jpg)
32
Jailhouse (5)
• Static design:
– 1:1 resource assignment
– Guests can't share a core (no scheduling)
– It doesn't support overcommitment of resources (like CPUs, RAM or
devices).
– No hw emulation
• Real-time guarantees:
– Must be provided by the guest OS
![Page 33: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/33.jpg)
33
Late partitioning
![Page 34: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/34.jpg)
34
Jailhouse architecture
![Page 35: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/35.jpg)
35
Demo on Nvidia TX1
• Demo
• Similar demo available on Drive PX2 / Xilinx Ultrascale+
![Page 36: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/36.jpg)
36
Fast boot on Linux
![Page 37: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/37.jpg)
37
Fast Boot
• It’s a race over the fastest booting system… • In reality what is important is the time between power up
and the availability of some given services• Final user application• Splash screen• CAN bus active in the first x ms• …
• Depending on the requirements, there are various optimizations that can be done
• Most of the boot time can be shrinked with a few main actions. Then the ms tuning require… art!
![Page 38: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/38.jpg)
38
Typical tweaks to reduce boot time
• Splash screen to simulate an early start
• No boot loader
• Peripheral initialization postponed
• Service daemons postponed
• Pre-boot e preload (example when opening the car door)
• Filesystem choice to allow fast boot (with/without compression, read-only/write)
• Kernel optimizations
• It is useful to have a tracing tool in HW or, whenever not possible, in SW
![Page 39: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/39.jpg)
39
Linux Boot Charts
Example of chart taken from the timings of the Linux boot
1,15 sec
0,65 sec
Optimized!
![Page 40: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/40.jpg)
40
Linux Fast Boot
• Linux Fast boot on iMX6 Dual• U-Boot with USB support• Linux kernel with Video support, Touchscreen, USB and CAN• Qt application
• Results• 1.8s - First CAN message
from userspace• 3.9s - Qt Application
![Page 41: Linux in ambito industriale, real-time, hypervisors e boot veloce · 2017-10-24 · • Preemptible spinlocks: • Replaces most spinlocks with preemptible priority-inheritance mutexes](https://reader036.fdocuments.us/reader036/viewer/2022070920/5fb90467264edc599942077e/html5/thumbnails/41.jpg)
41
Contacts
Evidence Srl
Via Carducci 56
56010 S.Giuliano Terme
Pisa - Italy
Web: http://www.evidence.eu.com
E-mail: [email protected]
Phone: +39 050 99 11 224