*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 --- 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.s...@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 _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto