summaryrefslogtreecommitdiffstats
path: root/meta-blsched/recipes-core
diff options
context:
space:
mode:
authorFrode Isaksen <fisaksen@baylibre.com>2017-12-05 17:21:44 +0000
committerFrode Isaksen <fisaksen@baylibre.com>2017-12-14 17:50:07 +0000
commited8c0a7cf8ad14ca6a6c1dcab4d9f936fcd59bdf (patch)
treefee4df9bc266fbe9721f26276c9ad56a9487fa4b /meta-blsched/recipes-core
parentabe6250af91c4b3193511f4dd5fbfb7ee40d76d5 (diff)
Optimizes task placement on big.LITTLE platforms. Currently enabled for renesas r-car gen3 boards with the machine feature 'biglittle' defined. Change-Id: Idee5e759f13b3942496a831c444799b880caac89 Signed-off-by: Frode Isaksen <fisaksen@baylibre.com>
Diffstat (limited to 'meta-blsched/recipes-core')
-rw-r--r--meta-blsched/recipes-core/blsched/blsched_git.bb36
-rw-r--r--meta-blsched/recipes-core/blsched/files/blsched.service9
2 files changed, 45 insertions, 0 deletions
diff --git a/meta-blsched/recipes-core/blsched/blsched_git.bb b/meta-blsched/recipes-core/blsched/blsched_git.bb
new file mode 100644
index 0000000..af7db3a
--- /dev/null
+++ b/meta-blsched/recipes-core/blsched/blsched_git.bb
@@ -0,0 +1,36 @@
+SUMMARY = "big.LITTLE scheduler"
+HOMEPAGE = "https://github.com/BayLibre/bLsched"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b0df75b2edb80ee98b732ee0514a265c"
+
+SRC_URI = "git://github.com/baylibre/blsched.git \
+ file://blsched.service \
+ "
+
+SRCREV = "b6bf199bc2def486857fb7003a6cb07708ed685e"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+COMPATIBLE_MACHINE ="((h|m)3ulcb|salvator-x)"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+DAEMONARGS_r8a7795 = "-b 0 -b 1 -b 2 -b 3"
+DAEMONARGS_r8a7796 = "-b 0 -b 1"
+
+RDEPENDS_${PN} += " blsched"
+
+inherit systemd
+
+SYSTEMD_SERVICE_${PN} = "blsched.service"
+
+do_install_append () {
+ # Install the systemd init file
+ install -d ${D}${systemd_unitdir}/system
+ install -c -m 0644 ${WORKDIR}/blsched.service ${D}${systemd_unitdir}/system
+
+ sed -i -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@ARGS@,${DAEMONARGS},g' \
+ ${D}${systemd_unitdir}/system/*.service
+}
diff --git a/meta-blsched/recipes-core/blsched/files/blsched.service b/meta-blsched/recipes-core/blsched/files/blsched.service
new file mode 100644
index 0000000..b26b1fa
--- /dev/null
+++ b/meta-blsched/recipes-core/blsched/files/blsched.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=blsched big.LITTLE cpu manager service
+After=local-fs.target
+
+[Service]
+ExecStart=@SBINDIR@/blsched @ARGS@
+
+[Install]
+WantedBy=multi-user.target