[linux-yocto] [PATCH 1/1] [meta-realtime] Add rt-app, schedtool, define core-image-realtime, and append recipies-kernel
Insop Song
insop.song at gmail.com
Sat Mar 16 03:16:11 PDT 2013
*applications tested
1. rt-app
- "rt-app" is a test application that starts multiple periodic threads
in order to simulate a real-time periodic load
- run example
root at qemux86:~# rt-app -t 100000:35000:d -D 1
[rt-app] <notice> [0] Using SCHED_DEADLINE policy:
[rt-app] <notice> [0] starting thread with period: 100000, exec:
35000,deadline: 100000, priority: 10
[rt-app] <notice> [0] Locking pages in memory
idx period min_et max_et rel_st start end
deadline dur. slack Budget Used Budget
0 100000 35000 35000 64705 305724113 305759126
305824105 35013 64979
...
0 100000 35000 35000 965099 306624507 306659526
306724105 35019 64578
[rt-app] <notice> [0] Exiting.
2. schedtool
- scheduler test tool
- run example
root at qemux86:~# schedtool -E -t 10000:100000 -a 0 -e yes > /dev/null&
root at qemux86:~# schedtool -E -t 30000:100000 -a 0 -e yes > /dev/null&
root at qemux86:~# jobs
[1]- Running schedtool -E -t 10000:100000 -a 0 -e yes
> /dev/null &
[2]+ Running schedtool -E -t 30000:100000 -a 0 -e yes
> /dev/null &
$ top
Mem: 33616K used, 84308K free, 0K shrd, 2684K buff, 13904K cached
CPU: 37% usr 5% sys 0% nic 56% idle 0% io 0% irq 0% sirq
Load average: 911.65 428.84 84.32 35501/62 715
PID PPID USER STAT VSZ %VSZ %CPU COMMAND
714 688 root R 2352 2% 28% yes
713 688 root R 2352 2% 9% yes
715 688 root R 2724 2% 4% top
---
recipes-extended/images/core-image-realtime.bb | 12 +++++++++
recipes-kernel/linux/linux-yocto_3.8.bbappend | 9 +++++++
...adline-as-a-default-to-go-around-yocto-bu.patch | 26 ++++++++++++++++++
recipes-tools/rt-app/rt-app.bb | 28 ++++++++++++++++++++
recipes-tools/schedtool-dl/schedtool-dl.bb | 23 ++++++++++++++++
5 files changed, 98 insertions(+)
create mode 100644 recipes-extended/images/core-image-realtime.bb
create mode 100644 recipes-kernel/linux/linux-yocto_3.8.bbappend
create mode 100644 recipes-tools/rt-app/files/0001-set-with-deadline-as-a-default-to-go-around-yocto-bu.patch
create mode 100644 recipes-tools/rt-app/rt-app.bb
create mode 100644 recipes-tools/schedtool-dl/schedtool-dl.bb
diff --git a/recipes-extended/images/core-image-realtime.bb b/recipes-extended/images/core-image-realtime.bb
new file mode 100644
index 0000000..d449e69
--- /dev/null
+++ b/recipes-extended/images/core-image-realtime.bb
@@ -0,0 +1,12 @@
+require recipes-core/images/core-image-minimal-dev.bb
+
+DEPENDS = "linux-yocto"
+
+IMAGE_FEATURES += "package-management ssh-server-dropbear"
+EXTRA_IMAGE_FEATURES = "tools-debug debug-tweaks tools-profile dbg-pkgs"
+
+IMAGE_INSTALL = "\
+ ${CORE_IMAGE_BASE_INSTALL} \
+ rt-app \
+ schedtool-dl \
+ "
diff --git a/recipes-kernel/linux/linux-yocto_3.8.bbappend b/recipes-kernel/linux/linux-yocto_3.8.bbappend
new file mode 100644
index 0000000..175ab91
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto_3.8.bbappend
@@ -0,0 +1,9 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+KBRANCH_qemux86 = "standard/edf"
+KBRANCH_fri2 = "standard/edf"
+
+SRCREV_machine_qemux86 = "62d98f6b12f91cc7419b88dfa2e0abe077c94f9f"
+SRCREV_machine_fri2 = "62d98f6b12f91cc7419b88dfa2e0abe077c94f9f"
+
+KERNEL_FEATURES_append =" cfg/edf.scc"
diff --git a/recipes-tools/rt-app/files/0001-set-with-deadline-as-a-default-to-go-around-yocto-bu.patch b/recipes-tools/rt-app/files/0001-set-with-deadline-as-a-default-to-go-around-yocto-bu.patch
new file mode 100644
index 0000000..a697e89
--- /dev/null
+++ b/recipes-tools/rt-app/files/0001-set-with-deadline-as-a-default-to-go-around-yocto-bu.patch
@@ -0,0 +1,26 @@
+From 041b2b65889c44c47f90313c5bf9ce61effa96df Mon Sep 17 00:00:00 2001
+From: Insop Song <insop.song at gmail.com>
+Date: Sat, 9 Mar 2013 01:23:24 -0800
+Subject: [PATCH] set "--with-deadline" as a default to go around yocto build
+ error on deadline enabled
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index a5e2990..64e57e4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -34,7 +34,7 @@ AC_ARG_WITH([deadline],
+ [AS_HELP_STRING([--with-deadline],
+ [Add support for SCHED_DEADLINE])],
+ [],
+- [with_deadline=no])
++ [with_deadline=yes])
+
+ AS_IF([test "x$with_deadline" != xno],
+ [AC_DEFINE([DLSCHED], [1], [Define if you have SCHED_DEADLINE support])
+--
+1.7.9.5
+
diff --git a/recipes-tools/rt-app/rt-app.bb b/recipes-tools/rt-app/rt-app.bb
new file mode 100644
index 0000000..acce437
--- /dev/null
+++ b/recipes-tools/rt-app/rt-app.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "rt-app is a test application that starts multiple periodic threads in order to simulate a real-time periodic load"
+SECTION = "devel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;endline=339;md5=e43fc16fccd8519fba405f0a0ff6e8a3"
+PR = "r1"
+
+SRCREV = "e81cbe9f76ee298feded17bb7455d4deb2fb32af"
+
+SRC_URI = "git://github.com/gbagnoli/rt-app.git \
+ file://0001-set-with-deadline-as-a-default-to-go-around-yocto-bu.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools gettext pkgconfig
+
+do_configure_prepend() {
+ autoreconf --install --verbose --force
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 src/rt-app ${D}${bindir}
+}
+
+FILES_{PN} = "${bindir}/rt-app"
+
+PARALLEL_MAKE = ""
diff --git a/recipes-tools/schedtool-dl/schedtool-dl.bb b/recipes-tools/schedtool-dl/schedtool-dl.bb
new file mode 100644
index 0000000..5592175
--- /dev/null
+++ b/recipes-tools/schedtool-dl/schedtool-dl.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "schedtool-dl (scheduler test tool) for deadline scheduler"
+SECTION = "devel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://Makefile;endline=55;md5=e4b4e8ed9c2132e1d727a1bb5e3bd984"
+PR = "r1"
+
+SRC_URI = "git://github.com/jlelli/schedtool-dl.git;protocol=git"
+SRCREV = "cd4e3f2f5a33c3266e25e447e8efbacb3b8c88da"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 schedtool ${D}${bindir}
+}
+
+FILES_{PN} = "${bindir}/schedtool"
+
+PARALLEL_MAKE = ""
--
1.7.9.5
More information about the linux-yocto
mailing list