[LITMUS^RT] Updates to LITMUS^RT, liblitmus, and feather-trace-tools

Björn Brandenburg bbb at mpi-sws.org
Sun Mar 20 20:17:26 CET 2016


Dear all, 

I’ve pushed more changes to LITMUS^RT and liblitmus. These patches add major new features. 

In particular, I’ve merged the basic reservation-based scheduling infrastructure that previously existed in the wip-reservations branch. However, the code has seen substantial changes since the earlier preview version. There’s a tutorial on how to work with the new reservations here:

	https://github.com/LITMUS-RT/liblitmus/blob/master/doc/howto-use-resctl.md

A summary of all changes is provided at the end of the email. 
	 
Again, please help with testing.

> On 08 Mar 2016, at 17:26, Björn Brandenburg <bbb at mpi-sws.org> wrote:
> 
> @UNC: can you please contribute to the testing effort, especially on ARM?
> 

Is anyone at UNC still reading this email list? I haven’t heard anything at all… 

Thanks,
Björn


Here are the new patches in the kernel:

	dbf173a Add partitioned reservation-based scheduler plugin (P-RES)
	2a38056 Add basic generic reservation-based scheduling infrastructure
	095f515 Add reservation configuration types to rt_param.h
	8c9a840 LITMUS^RT syscall: expose sys_reservation_create() via ioctl()
	c1e58e8 Add reservation creation API to plugin interface & syscalls
	59a6e9e hrtimer integration: properly trace late-added timers
	e9b22ab Hook into hrtimer to report large latencies
	8d35f99 Add KConfig options for timer latency warnings
	6a09acc Feather-Trace: cosmetic change in latency callback
	
	 include/linux/hrtimer.h                       |   3 +
	 include/litmus/ctrlpage.h                     |   6 +
	 include/litmus/reservations/alloc.h           |  15 +
	 include/litmus/reservations/budget-notifier.h |  50 +++
	 include/litmus/reservations/polling.h         |  19 +
	 include/litmus/reservations/reservation.h     | 223 ++++++++++
	 include/litmus/reservations/table-driven.h    |  23 +
	 include/litmus/rt_param.h                     |  41 ++
	 include/litmus/sched_plugin.h                 |   8 +
	 kernel/time/hrtimer.c                         |  41 +-
	 litmus/Kconfig                                |  24 +-
	 litmus/Makefile                               |   4 +
	 litmus/ctrldev.c                              |   6 +
	 litmus/litmus.c                               |  10 +
	 litmus/reservations/Makefile                  |   3 +
	 litmus/reservations/alloc.c                   | 143 +++++++
	 litmus/reservations/budget-notifier.c         |  26 ++
	 litmus/reservations/core.c                    | 392 +++++++++++++++++
	 litmus/reservations/polling.c                 | 256 ++++++++++++
	 litmus/reservations/table-driven.c            | 269 ++++++++++++
	 litmus/sched_plugin.c                         |  13 +
	 litmus/sched_pres.c                           | 578 ++++++++++++++++++++++++++
	 litmus/trace.c                                |   3 +-
	 23 files changed, 2152 insertions(+), 4 deletions(-)
	

Changes to liblitmus:

	f7aa7b6 Add documentation for resctl
	e742799 Add -b (background cache-thrashing loop) option to rtspin
	a409d6c Add memory thrashing option to rtspin
	e2c555d Add -u (underrun) to rtspin
	0d3feb8 Add -R (create sporadic reservation) flag to rtspin
	13559d1 Add -R (create sporadic reservation) flag to rt_launch
	be24daf resctl: support specifying open intervals [$start,$end)
	3d2d58b resctl: support parsing priority values larger than 2^32
	9dcbb55 resctl: default to max. priority for table-driven reservations
	3015c39 Add resctrl, a tool for setting up reservations
	626d8bd Add reservation_create() LITMUS^RT system call

	 .gitignore              |   7 ++
	 Makefile                |   5 +-
	 bin/resctl.c            | 256 ++++++++++++++++++++++++++++++++++++++++++++++++
	 bin/rt_launch.c         |  30 +++++-
	 bin/rtspin.c            | 141 +++++++++++++++++++++++---
	 doc/howto-use-resctl.md | 144 +++++++++++++++++++++++++++
	 include/litmus.h        |   8 ++
	 src/syscalls.c          |   8 ++
	 8 files changed, 580 insertions(+), 19 deletions(-)




More information about the litmus-dev mailing list