aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorInsop Song <insop.song@gmail.com>2013-03-16 03:16:11 -0700
committerBruce Ashfield <bruce.ashfield@windriver.com>2013-03-18 07:18:14 -0700
commitad755cff8834adcde3e4ec395143a808edfaa299 (patch)
tree77213fc72306862bf61fae4e87ac4c415ff348d6
parentba5070720723f36b7fcdcc5f0ea3887c5b13ca97 (diff)
downloadmeta-realtime-ad755cff8834adcde3e4ec395143a808edfaa299.tar.gz
meta-realtime-ad755cff8834adcde3e4ec395143a808edfaa299.tar.bz2
meta-realtime-ad755cff8834adcde3e4ec395143a808edfaa299.zip
meta-realtime: add rt-app, schedtool, define core-image-rt-extended, and append recipies-kernel
With this commit, all of the utilities and extensions required to test sched_dealine with meta-realtime are in place. *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@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@qemux86:~# schedtool -E -t 10000:100000 -a 0 -e yes > /dev/null& root@qemux86:~# schedtool -E -t 30000:100000 -a 0 -e yes > /dev/null& root@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 Signed-off-by: Insop Song <insop.song@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
-rw-r--r--recipes-extended/images/core-image-rt-extended.bb12
-rw-r--r--recipes-kernel/linux/linux-yocto_3.8.bbappend9
-rw-r--r--recipes-tools/rt-app/files/0001-set-with-deadline-as-a-default-to-go-around-yocto-bu.patch26
-rw-r--r--recipes-tools/rt-app/rt-app.bb28
-rw-r--r--recipes-tools/schedtool-dl/schedtool-dl.bb23
5 files changed, 98 insertions, 0 deletions
diff --git a/recipes-extended/images/core-image-rt-extended.bb b/recipes-extended/images/core-image-rt-extended.bb
new file mode 100644
index 0000000..d449e69
--- /dev/null
+++ b/recipes-extended/images/core-image-rt-extended.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@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 = ""