summaryrefslogtreecommitdiffstats
path: root/meta-agl-profile-core/recipes-test/interbench
diff options
context:
space:
mode:
authorJan-Simon Möller <jsmoeller@linuxfoundation.org>2018-04-16 22:14:52 +0200
committerJan-Simon Möller <jsmoeller@linuxfoundation.org>2018-04-20 17:07:06 +0200
commitbb0882c5dad030f676e424265ebcd869bb3ff899 (patch)
treed95bb2d7ad6b5ac47427f73babe015b0ade02342 /meta-agl-profile-core/recipes-test/interbench
parent97e5e76efa44f55ee9aaf3998bb3df38b829706c (diff)
Introduce meta-agl-profile-core and meta-agl-profile-graphics
Rework towards agl profiles. This change is part of a series of changes to create the AGL profiles. This set will mainly introduce the 'core' profile. It is setup to be a drop-in change, thus some files were kept in (dummy) locations for now. However, they'll be taken care of in the next changes in this series. The main target of the meta-agl-profile-core layer is to host: - a minimal, bootable image with network and package management enabled -- agl-image-boot - a minimal image with network and packagemanagement and the AGL APIs -- agl-image-minimal The layer meta-agl-profile-graphical is used as superset of these and includes support for egl+wayland+weston. All recipes concerning graphics were moved there. This is not a full profile as we still have to migrate some parts of meta-agl-demo in a follow-up changeset. The roadmap as discussed during the F2F session in Karlsruhe is: - week 16 : core profile and profiles w/o graphics - week 17 : graphical profiles - week 18 : final conversion of the demo image v2: moved agl-login-manager from -graphics to -core (see Jose's comment) v3: moved back after discussion - follow-up in separate changeset Change-Id: Idacb0d1274baac1f63f8d1b850d4b1104ac33918 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-profile-core/recipes-test/interbench')
-rw-r--r--meta-agl-profile-core/recipes-test/interbench/files/interbench.c.patch68
-rw-r--r--meta-agl-profile-core/recipes-test/interbench/interbench_0.31.bb31
2 files changed, 99 insertions, 0 deletions
diff --git a/meta-agl-profile-core/recipes-test/interbench/files/interbench.c.patch b/meta-agl-profile-core/recipes-test/interbench/files/interbench.c.patch
new file mode 100644
index 000000000..c882739ba
--- /dev/null
+++ b/meta-agl-profile-core/recipes-test/interbench/files/interbench.c.patch
@@ -0,0 +1,68 @@
+--- interbench.c.orig 2009-10-30 23:14:59.000000000 -0500
++++ interbench.c 2012-07-10 19:06:00.000000000 -0500
+@@ -71,6 +71,7 @@ struct user_data {
+ char datestamp[13];
+ FILE *logfile;
+ } ud = {
++ .ram = 0,
+ .duration = 30,
+ .cpu_load = 4,
+ .log = 1,
+@@ -652,6 +653,8 @@ void emulate_write(struct thread *th)
+ terminal_error("fopen");
+ if (stat(name, &statbuf) == -1)
+ terminal_fileopen_error(fp, "stat");
++ if (statbuf.st_blksize < MIN_BLK_SIZE)
++ statbuf.st_blksize = MIN_BLK_SIZE;
+ for (i = 0 ; i < mem; i++) {
+ if (fwrite(buf, statbuf.st_blksize, 1, fp) != 1)
+ terminal_fileopen_error(fp, "fwrite");
+@@ -1136,14 +1139,17 @@ void get_ram(void)
+ if(!(meminfo = fopen("/proc/meminfo", "r")))
+ terminal_error("fopen");
+
+- ud.ram = ud.swap = 0;
+- while( !feof(meminfo) && !fscanf(meminfo, "MemTotal: %lu kB", &ud.ram) )
+- fgets(aux,sizeof(aux),meminfo);
++ if (!ud.ram)
++ {
++ while( !feof(meminfo) && !fscanf(meminfo, "MemTotal: %lu kB", &ud.ram) )
++ fgets(aux,sizeof(aux),meminfo);
++ }
++ ud.swap = 0;
+ while( !feof(meminfo) && !fscanf(meminfo, "SwapTotal: %lu kB", &ud.swap) )
+ fgets(aux,sizeof(aux),meminfo);
+ if (fclose(meminfo) == -1)
+ terminal_error("fclose");
+-
++
+ if( !ud.ram || !ud.swap ) {
+ unsigned long i;
+ fprintf(stderr, "\nCould not get memory or swap size. ");
+@@ -1399,6 +1405,7 @@ void usage(void)
+ fprintf(stderr, "\t[-h]\n\n");
+ fprintf(stderr, " -l\tUse <int> loops per sec (default: use saved benchmark)\n");
+ fprintf(stderr, " -L\tUse cpu load of <int> with burn load (default: 4)\n");
++ fprintf(stderr, " -M\tForce RAM size to <int>. Useful when disk is smaller than RAM.\n");
+ fprintf(stderr, " -t\tSeconds to run each benchmark (default: 30)\n");
+ fprintf(stderr, " -B\tNice the benchmarked thread to <int> (default: 0)\n");
+ fprintf(stderr, " -N\tNice the load thread to <int> (default: 0)\n");
+@@ -1482,7 +1489,7 @@ int main(int argc, char **argv)
+ terminal_error("signal");
+ #endif
+
+- while ((q = getopt(argc, argv, "hl:L:B:N:ut:bcnrC:I:m:w:x:W:X:")) != -1) {
++ while ((q = getopt(argc, argv, "hl:L:M:B:N:ut:bcnrC:I:m:w:x:W:X:")) != -1) {
+ switch (q) {
+ case 'h':
+ usage();
+@@ -1496,6 +1503,9 @@ int main(int argc, char **argv)
+ case 'L':
+ ud.cpu_load = atoi(optarg);
+ break;
++ case 'M':
++ ud.ram = atoi(optarg);
++ break;
+ case 'B':
+ ud.bench_nice = atoi(optarg);
+ break;
diff --git a/meta-agl-profile-core/recipes-test/interbench/interbench_0.31.bb b/meta-agl-profile-core/recipes-test/interbench/interbench_0.31.bb
new file mode 100644
index 000000000..3e6490374
--- /dev/null
+++ b/meta-agl-profile-core/recipes-test/interbench/interbench_0.31.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "The Linux interactivity benchmark"
+HOMEPAGE = "http://users.tpg.com.au/ckolivas/interbench/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
+SRC_URI = "http://ck.kolivas.org/apps/interbench/interbench-${PV}.tar.bz2"
+
+SRC_URI += "file://interbench.c.patch;striplevel=0"
+
+inherit autotools
+
+INSANE_SKIP_${PN} = "ldflags"
+
+B = "${S}"
+EXTRA_OEMAKE = "CC='${CC}'"
+
+# upstream tarball contains x86_64 binaries, we need a clean source tree
+do_compile() {
+ oe_runmake clean
+ oe_runmake
+}
+
+do_install() {
+ install -d ${D}${bindir} ${D}${datadir}/doc/${PN}/ ${D}${mandir}/man8/
+ install -m 0755 ${B}/interbench ${D}${bindir}
+ install -m 0644 ${S}/readme* ${D}${datadir}/doc/${PN}/
+ install -m 0644 ${S}/interbench.8 ${D}${mandir}/man8/
+}
+
+SRC_URI[md5sum] = "832254d7fd1255c548ebea7b97f01015"
+SRC_URI[sha256sum] = "89d438b28aef22d26e79812762a57a9f9344a8dd8826edebfe60dad48ee1c784"
+