15th Real Time Linux Workshop
1st Call for Papers
October 28 - 31, 2013
Dipartimento tecnologie innovative
Scuola universitaria professionale della Svizzera italiana
Lugano-Manno
Switzerland
Following the meetings of academics, developers and users of real-time
and embedded Linux at the previous 14 Real Time Linux Workshops held
world-wide (Vienna, …
[View More]Orlando, Milano, Boston, Valencia, Singapore, Lille,
Lanzhou, Linz, Guadalajara, Dresden, Nairobi, Prague and Chapel Hill) -
the 2013 Real Time Linux Workshop will come to the Scuola Universitaria
Professionale della Svizzera Italiana in Lugano-Manno, Switzerland. It will
be held from October 28 to October 31, 2013.
Rationale
Real-time systems have evolved over the past decades in a relatively
calm manner - performance has increased, one can say dramatically, but
the main paradigms were pretty stable since the mid 80s. With the
considerable increase of computing power, notably with multicore systems
becoming mainstream in embedded devices, the requirements on RTOS are
shifting and the tools are again trying to catch up.
In stark contrast to 1999 (when the first RTLWS took place), Linux has a
strong position in all kind of embedded systems, ranging from consumer
electronics to network devices and a broad range of industrial applications
including safety related systems. The technological resources suitable
for high-availability, real-time, and safety critical systems have been
continuously expanding and improving - allowing to cover the entire
development life cycle of industrial projects based on open-source
tools. At the core of this development is the availability of stable
operating systems with reliable real-time properties. Extending and
improving the real-time properties of Open Source RTOS is a continuous
research and development effort. The OSADL has set itself the ambitious
goal to document these efforts and it's most effective tool to do so is
the annual Real Time Linux Workshop.
Call for papers
Authors from regulatory bodies, academics, industry as well as the
user-community are invited to submit original work dealing with general
topics related to Open Source and Free Software based real-time systems
research, experiments and case studies, as well as issues of integration
of open-source real-time and embedded OS. A special focus will be on
industrial case studies and safety related systems. Topics of interest
include, but are not limited to:
- Modifications and variants of the GNU/Linux operating system and
extending its real-time capabilities,
- Contributions to real-time Linux variants, drivers and extensions,
- Tools for the verification and validation of real-time properties,
- User-mode real-time concepts, implementation and experience,
- Real-time Linux applications, in academia, research and industry,
- Safety related FLOSS systems,
- Safety related systems using FLOSS components,
- FLOSS Tools used to analyze, verify or validate safety properties,
- Work in progress reports, covering recent developments,
- Educational material on real-time Linux,
- RTOS core concepts, RT-safe synchronization mechanisms,
- RT-safe IPC mechanisms for RT and non RT components,
- Analysis and benchmarking methods and results of real-time
GNU/Linux variants,
- Debugging techniques and tools, both for code and temporal
debugging of core RTOS components, drivers and real-time
applications,
- Real-time related extensions to development environments
Abstract submission
If you wish to present a paper at the workshop, please submit an
abstract using the submission page at
https://www.osadl.org/RTLWS15-Abstract.submission-form.0.html.
Final paper to be included into the RTLWS15 Proceedings
Upon acceptance of an abstract by the RTLWS15 Program Committee, the
author will be invited to submit a full paper in a form defined by
https://www.osadl.org/paper.tgz. A detailed description of the editing
and formatting process will be provided along with the notification
email.
Further information: http://www.osadl.org/RTLWS
Important dates
July 29, 2013 - Abstract submission deadline
August 26, 2013 - Notification of acceptance
September 23, 2013 - Submission of final paper
October 28-31, 2013 - Workshop
Organization committee:
Local organizers:
- Roberto Bucher, Scuola universitaria professionale della Svizzera italiana
SUPSI, Switzerland
OSADL/RTLF
- Carsten Emde, OSADL
- Nicholas Mc Guire, OSADL
- Andreas Platschek, ICT, Vienna University of Technology, Austria
Program committee:
- Alexey Khoroshilov, ISPRAS, Russia
- Andrea Bastoni, SYSGO AG, Germany
- Andreas Platschek, TU-Wien, Austria
- Bernhard N�lte, IQSE TueV SueD Rail, Germany
- Carsten Emde, OSADL, Germany
- Cheng Sheng, Beijing Shenzhou Aerospace Software Technology, China
- Fans, Spectrum Sys, China
- Georg Schiesser, OpenTech EDV Research, Austria
- Herman H�rtig, Technische Universit�t Dresden, Germany
- Julia Lawall, Inria/LIP6, France
- Julien Delange, Carnegie Mellon Software Engineering Institute, USA
- Klaus Reichl, Base Systems Technology Thales, Austria
- Matthias Auchmann, A&R TECH, Austria
- Michal Sojka, Czech Technical University in Prague, Czech Republic
- Nicholas Mc Guire, OpenTech EDV Research, Austria
- Paul E. McKenney, IBM Linux Technology Center, USA
- Paolo Mantegazza, Politecnico di Milano, Italy
- Peter Okech, University of Nairobi, Kenya
- Peter Wurmsdobler, Aveillant Ltd, UK
- Peter Zijlstra, RedHat, Netherlands
- Philippe Gerum, Xenomai, France
- Roberto Bucher, SUPSI, Switzerland
- Shawn Choo, Weslab, Singapur
- Stefan Schoenegger, B&R, Austria
- Steven Rostedt, RedHat, USA
- Thomas Gleixner, Linutronix, Germany
- Yutaka Matsuno, University of Electro-Communications, Japan
- Zhou Qingguo, DSLab, Lanzhou University, China
Workshop organizers:
- Dipartimento Tecnologie Innovative, SUPSI, Switzerland
- Open Source Automation Development Lab (OSADL)
Roberto Bucher
Carsten Emde
Nicholas Mc Guire
Andreas Platschek
[View Less]
Hi,
I'm new to Fiasco and L4Re. I want to write a new program in C++ which will
run on L4Re. I'm looking at the simple client server example in the
l4/pkg/examples/clntsrv directory for my reference. I was able to get it
compiled eventually on L4Re, but I have no idea how to run it. Is there
anyway that I can run examples/clntsrv package just like we run the hello
package by using grub2iso and qemu?
Thanks in advance,
Thang Tran.
Hi,
I tried booting a 64bit hello world program on L4/Fiasco but that fails
with a region overlap:
=============================================
xc: info: VIRTUAL MEMORY ARRANGEMENT:
Loader: 0000000000100000->000000000019dd88
TOTAL: 0000000000000000->000000007f800000
ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
4KB PAGES: 0x0000000000000200
2MB PAGES: 0x00000000000003fb
1GB PAGES: 0x0000000000000000
Daemon running with PID 9320 …
[View More]net0: 00:16:3e:72:79:e5 using rtl8139 on
PCI00:04.0 (open)
[Link:up, TX:0 TXE:0 RX:0 RXE:0]
DHCP (net0 00:16:3e:72:79:e5)... ok
net0: 192.168.178.200/255.255.255.0 gw 192.168.178.54
Booting from PXE menu
boot
PXEBS (net0 type 128).... ok
Next server: 192.168.178.54
Filename: pxeboot.0
tftp://192.168.178.54/pxeboot.0... ok
L4 Bootstrapper
Build: #7 Sun Jun 9 16:51:46 CEST 2013, x86-64, 4.6.3
RAM: 0000000000000000 - 000000000009a7ff: 618kB
RAM: 0000000000100000 - 000000007f7b9fff: 2087656kB
Total RAM: 2039MB
New region for list regions: [ 20d000, 4c62c9] { 2b92ca}
Root Module
overlaps with: [ 2d0080, 2e45c7] { 14548}
Boot bootstrap
Regions of list 'regions'
[ 0, fff] { 1000} Arch BIOS
[ e0000, fffff] { 20000} Arch BIOS
[ 106000, 1a646f] { a0470} Root Module
[ 1a7000, 20c9bd] { 659be} Root Module
[ 2d0080, 2e45c7] { 14548} Boot bootstrap
[ 1013000, 10a8fff] { 96000} Boot bootstrap-ptab64
[ fc000000, ffffffff] { 4000000} Arch BIOS
region overlap
Key press reboots...
=============================================
Everything works for 32bit. I took a look at
bootstrap/server/src/startup.cc. I verified that modaddr is correctly
passed to boostrap in both cases (32 and 64bit; it is 0x2000000
everytime). It appears that the failure happens in the call to
add_boot_modules_region():
/* we're just a GRUB-booted kernel! */
add_boot_modules_region(mbi);
if (_mod_addr)
move_modules(mbi, _mod_addr);
I do not fully understand all this code but to me this looks like a
logic error: first the move should happen to honor "-modaddr" and only
then the overlap check should be done.
Here is the output for 32bit:
=============================================
L4 Bootstrapper
Build: #3 Sun Jun 9 16:55:38 CEST 2013, x86-32, 4.6.3
RAM: 0000000000000000 - 000000000009a7ff: 618kB
RAM: 0000000000100000 - 000000007f7b9fff: 2087656kB
Total RAM: 2039MB
Moving up to 7 modules behind 2000000
moving module 00 { 139000-1ba783 } -> { 2829000-28aa783 } [530308]
moving module 01 { 1bb000-21015e } -> { 28ab000-290015e } [348511]
moving module 02 { 2e5000-51f51c } -> { 2901000-2b3b51c } [2336029]
moving module 03 { 520000-762e3b } -> { 2000000-2242e3b } [2371132]
moving module 04 { 763000-8880c6 } -> { 2243000-23680c6 } [1200327]
moving module 05 { 211000-211080 } -> { 2369000-2369080 } [129]
moving module 06 { 889000-9616a6 } -> { 236a000-24426a6 } [886439]
Scanning /fiasco -serial -serial_esc -comspeed 115200 -comport 1 -nokdb
Scanning /sigma0
Scanning /moe rom/hello.lua
Bootloader MMAP:
[ 0, 9a800) RAM (1)
[ e0000, 100000) reserved (2)
[ 100000, 7f7ba000) RAM (1)
[ fc000000, 100000000) reserved (2)
Relocated mbi to [0x2e0000-0x2e043f]
Loading /fiasco
Loading /sigma0
Loading /moe
find kernel info page...
found kernel info page at 0x400000
...
=============================================
Since the module addresses are also different between the two version
this might also be an issue with the linker scripts (and thus just luck
that the 32bit version boots), I would guess. I am using a Xen VM for
testing.
Any help would be appreciated.
Thanks,
Daniel
[View Less]
Hi,
I start up 4 L4Linux on intel core2quad platform. In jdb, I can see 4
vmlinuz on the task list (command 's' in jdb).
Next, I run 4 benchmarks, one in each L4Linux, but the experiment result
shows that
the 4 benchmark are running on the same core. The kernel seems not
scheduling them
to different cpu cores.
I have enabled "Enable multi processor support" option in fiasco config
menu and the
jdb shows there are 4 cores:
*** Cut start ***
-------------------------------------------------…
[View More]----------------------
CPU 0 [f000d2a0]: IRQ ENTRY
CPU 1 [f0022451]: Maskable Interrupt
CPU 2 [f0022451]: Maskable Interrupt
CPU 3 [f0022451]: Maskable Interrupt
jdb: g
*** Cut end ***
But the running benchmarks are not showing on the task list(command 's' in
jdb), is it normal?
I remember in ARM L4Linux, the task list will show 'vmlinuz', 'sh',
'benchmark', ...,etc.
Best Regards,
Chao-Jui
[View Less]
Hello,
What happens with a task resources when a task crashes or it leaks resources at exit?
How this resources (e.g. memory, file descriptors, any other capabilities) are reclaimed back by the o.s. ?
Cheers,
BogDan.
Hi Adam,
Thanks for your reply.
After I change the memory to 1023, it runs but stops at
###
Timer for CPU0 is at IRQ 28
Calibrating timer loop...
###
By the way, how to turn on the module loading information during booting?
The latest snapshot and svn only prints message starting from "Hello from
Startup::stage2"
### Start cur ###
Exynos4412 # run fiasco
Partition1: Start Address(0x1000), Size(0x32000)
reading bootstrap.raw
803080 bytes read
Boot with zImage
Starting kernel ...
Hello from …
[View More]Startup::stage2
Number of IRQs available at this GIC: 160
FPU0: Arch: VFPv3(3), Part: VFPv3(30), r: 4, v: 9, i: 41, t: hard, p:
dbl/sngl
Watchdog initialized
SERIAL ESC: allocated IRQ 305 for serial uart
Not using serial hack in slow timer handler.
Welcome to Fiasco.OC (arm)!
L4/Fiasco.OC arm microkernel (C) 1998-2013 TU Dresden
Rev: rUnversioned director compiled with gcc 4.5.2 for Samsung Exynos []
Build: #22 17:15:49 CST 2013
Timer for CPU0 is at IRQ 28
Calibrating timer loop...
### End ###
Thanks,
Chao-Jui
2013/5/12 Adam Lackorzynski <adam(a)os.inf.tu-dresden.de>
> Hi,
>
> On Tue May 07, 2013 at 17:51:42 +0800, Chao-Jui Chang wrote:
> > Is trustzone working on exynos 4412 platform?
>
> It is generally supposed to work but this also depends on the particular
> board/system due to board configs etc.
>
> > I have selected the follow item in Fiasco config menu:
> > * Platform Timer (Multi-core timer)
> > * Use ExtGic
> > * Execution Model (TrustZone normal side)
> >
> > But it stop at early stage.
> > Same result for Execution Model (Standard mode).
> > but no message for Execution Model (TrustZone secure side).
>
> One reason could be the configured amount of memory, is it 1023 or 1024MB?
>
> > If the trustzone is disabled in u-boot, the 'Standard mode' works fine.
>
> That could also indicate that.
>
> >
> Adam
> --
> Adam adam(a)os.inf.tu-dresden.de
> Lackorzynski http://os.inf.tu-dresden.de/~adam/
>
> _______________________________________________
> l4-hackers mailing list
> l4-hackers(a)os.inf.tu-dresden.de
> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
>
[View Less]
I have recently ported l4 fiasco + l4Re on raspberry pi. I tested the
port with the sample hello world program and it works fine.Now I want
to write some of my own programs (C++, C and python) and run it on
this environment. All I have done as of now is modify the sample hello
world code a bit and test it. How do I go about doing this and where
to start from?
i appreciate your help.
Regards
Rahul
Hello,
Not all the task threads are killed when a task exits or it crashes.
I've created a simple example here: http://paste.kde.org/760274
After application crashes (line 22), test thread is still alive, I still can
see "Test thread alive" message printed.
If I call exit or return instead to crash the task, the test thread is still alive .
Cheers,
BogDan.